我一直在Ruby中看到这一点:

require File.dirname(__FILE__) + "/../../config/environment"  

有什么__FILE__意思是?

答案

它是对当前文件名的引用。在文件中foo.rb,,,,__FILE__将被解释为"foo.rb"

Edit: Ruby 1.9.2和1.9.3的行为似乎与卢克·贝叶斯(Luke Bayes)所说的不同。他的评论。使用这些文件:

# test.rb
puts __FILE__
require './dir2/test.rb'

# dir2/test.rb
puts __FILE__

跑步ruby test.rb将输出

test.rb
/full/path/to/dir2/test.rb

来自: stackoverflow.com