当我跑步时:
Dir.entries('.').each do |i|
puts i
end
在texmate中我从父目录中打印出来。这是为什么?
当我在IRB中运行相同的代码时,或者只是从终端运行时,我得到了正确的目录。
如何更正textmate路径?
答案 0 :(得分:1)
您不应该依赖当前目录的默认设置。假设您有一个ruby文件/tmp/a.rb
,内容为:
Dir.entries('.').each do |i|
puts i
end
您是否将执行它:
cd ~ && ruby /tmp/a.rb
它将打印/user/YOURUSERNAME
的内容,因为当前目录是一个,代码是从中执行的。 Textmate可能会将其自己的当前目录设置为执行目录或从中执行。
要解决问题,请使用Dir.chdir
显式设置当前目录。