在这篇博客文章中进行了一些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()
希望这能有所帮助!