如果我有一堂课:
class KlassWithSecret
def initialize
@secret = 99
end
end
并运行:
puts KlassWithSecret.new.instance_eval { @secret }
它打印 99,但如果我运行:
puts KlassWithSecret.new.instance_eval do
@secret
end
它返回一个错误:`instance_eval': wrong number of arguments (0 for 1..3) (ArgumentError)
为什么我不能使用 do/end 块instance_eval
?
PS 我正在使用 Ruby 2.1.0。