【发布时间】:2013-07-27 04:05:10
【问题描述】:
考虑这段代码:
def x; end
puts public_methods.include? :x
如果我在 irb 和 ruby 解释器(都使用 Ruby 1.9.3)上运行它,我会得到:
true # from irb
false # from ruby
为什么在irb 中公开定义顶级方法,为什么它与ruby 不同?
【问题讨论】:
-
Irb 在我的环境中提供
false。 -
irb 在我的环境中也给出了错误。
-
我在 irb 中也是假的
-
我添加了一张显示实际 irb 会话的照片。
-
这种行为在 Ruby 2.0.0 中发生了变化。在 Ruby 2.0.0 中,irb/ruby 均产生
false。