在this blog post的一些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级别打开,它将获得“没有这样的文件或目录”,但如果我在RubyLearn级别打开则可以。
如果我改为
也没关系File.open("/Users/koos/Developments/RubyDevs/RubyTests/RubyLearn/Test2.rb")
这显然是某些种类的设置问题。
对此有何建议?
答案 0 :(得分:0)
首先,这与Textmate无关,而是与Ruby如何处理该文件路径有关。所以不需要摆弄TM设置。
您正在打开相对于当前工作目录的文件。如果从RubyDevs目录运行Test1.rb,则当前工作目录中不存在Test2.rb,如果从RubyLearn目录中打开该文件,则为。
要使其在任何目录中工作,您需要确定Test1.rb文件的目录并添加Test2.rb路径,如下所示:
file = File.open(File.dirname(__FILE__) + '/Test2.rb')
file.close()
希望这有帮助!