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

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

__FILE__是什么意思?

推荐答案

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

Edit: Ruby 1.9.2和1.9.3的表现似乎与Luke Bayes在his comment中所说的略有不同.有了这些文件:

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

运行ruby test.rb将输出

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

Ruby相关问答推荐

如果嵌套数组为空,如何判断 ruby​​?

Ruby反斜杠在新行上继续字符串?

仅在模块中列出方法?

将块传递给方法传递给Ruby中的另一个方法

bundler 可以告诉我 Gemfile 中的哪些 gem 有更新的版本

从 Time 对象获取下/上个月

方法如何在 Ruby 中使用哈希参数?

查明 IP 是否在 IP 范围内

Ruby 输出 Unicode 字符

如何自定义 Jekyll 的 url?

将 Ruby 哈希转换为 YAML

Ruby 的所有/最佳列表?

如何在 Ruby 中将类构造函数设为私有?

我安装了一个 gem,但 require 'gemname' 不起作用.为什么?

如何使用 link_to Ruby on rails 添加确认消息

什么是 Rakefile?

为什么我们在 Ruby 中有 0.0 和 -0.0?

如何在 Ruby 中将时间四舍五入到最接近的 15 分钟?

Ruby:如何计算一个字符串在另一个字符串中出现的次数?

如何编写启动 tmux 会话的 shell 脚本,然后运行 ​​ruby​​ 脚本