当前目录的Textmate 2 Ruby Run设置



在这篇博客文章中进行了一些TM_Ruby设置后,Ruby 2.0.0和TextMate 2运行得很好。

但是我有:

/Users/koos/Developments/RubyDevs/RubyTests/RubyLearn/Test1.rb

/Users/koos/Developments/RubyDevs/RubyTests/RubyLearn/Test2.rb

Test1.rb具有File.open("Test2.rb")

在TM 1.5中,无论我是在RubyDevs级别打开TM并向下钻取,还是在RubyLearn级别打开TM,这都有效。

在TM2中,如果我在RubyDevs级别打开,它会得到"没有这样的文件或目录",但如果我在Ruby学习级别打开,则可以。

如果我换成也可以

File.open("/Users/koos/Developments/RubyDevs/RubyTests/RubyLearn/Test2.rb")

这显然是某种设置问题。

对此有什么建议吗?

首先,这与Textmate无关,而是与Ruby如何处理该文件路径有关。因此,无需篡改TM设置。

您正在打开一个相对于当前工作目录的文件。如果您从RubyDevs目录运行Test1.rb,则当前工作目录中不存在Test2.rb,如果您从Ruby Learn目录打开文件,则为。

要使它在任何目录中工作,您需要确定Test1.rb文件的目录,并添加Test2.rb路径,如下所示:

file = File.open(File.dirname(__FILE__) + '/Test2.rb')
file.close()

希望这能有所帮助!

最新更新