0

在这篇博文中的一些 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")

这显然是某种设置问题。

对此有何建议?

4

1 回答 1

0

首先,这与 Textmate 无关,而是与 Ruby 如何处理该文件路径有关。所以无需摆弄 TM 设置。

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

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

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

希望这可以帮助!

于 2013-10-30T20:26:04.317 回答