文件

是当前执行目录中文件的相对路径
假设我们有这样的目录结构:/home/stackoverflow/script.rb
script.rb 包含:

puts __FILE__

如果你在/ home / stackoverflow 内并执行像 ruby script.rb 这样的脚本,那么 __FILE__ 会输出 script.rb 如果你在/ home 里面那么它会输出 stackoverflow/script.rb

在 2.0 之前的版本中获取脚本的路径非常有用,其中 __dir__ 不存在。

注意 __FILE__ 不等于 __dir__