Textmate 2 Ruby Run当前目录的设置

时间:2013-09-01 10:23:35

标签: ruby textmate2

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")

这显然是某些种类的设置问题。

对此有何建议?

1 个答案:

答案 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()

希望这有帮助!