我有一个代码
class A < BasicObject
def initialize var1, *args, &block
if var1 == :lambda
@var1 = lambda &block
end
end
end
a = A.new :lambda, 123 do |var|
puts "ha ha ha"
end
为什么会导致错误?
undefined method `lambda' for #<A:0x00000001687968> (NoMethodError)
不像这个(它不会导致它)
class A
def initialize var1, *args, &block
if var1 == :lambda
@var1 = lambda &block
end
end
end