缺少数字 class 和方法
Numeric class and method missing
我是 Ruby 的新手,我不明白为什么当我 运行 这个 ruby 脚本时,
class Numeric
def method_missing(arg)
puts self
end
end
puts 5
它returns
[...]
5
我认为 self 应该只 return [...]
,因为没有传入任何参数。
谢谢!
puts
以特殊方式处理数组。因此,puts 5
尝试调用 5.to_ary
并且在实现 method_missing
时,它使用参数 :to_ary
.
调用它
在 method_missing
中调用 puts self
,相当于 puts 5
。这是一个递归 Ruby 显示为 [...]
.
这个递归数组产生相同的输出:
ary = []
#=> []
ary << ary
#=> [[...]]
我是 Ruby 的新手,我不明白为什么当我 运行 这个 ruby 脚本时,
class Numeric
def method_missing(arg)
puts self
end
end
puts 5
它returns
[...]
5
我认为 self 应该只 return [...]
,因为没有传入任何参数。
谢谢!
puts
以特殊方式处理数组。因此,puts 5
尝试调用 5.to_ary
并且在实现 method_missing
时,它使用参数 :to_ary
.
在 method_missing
中调用 puts self
,相当于 puts 5
。这是一个递归 Ruby 显示为 [...]
.
这个递归数组产生相同的输出:
ary = []
#=> []
ary << ary
#=> [[...]]