var, ama bakın:Beklenen ArgumentError ama NoMethodError
class A
def with_one_argument(&block)
block.call
end
end
A.new.with_one_argument
# => NoMethodError: undefined method `call' for nil:NilClass
Ama bu beklendiği gibi davranan:
class B
def with_one_argument(some_value)
puts some_value
end
end
B.new.with_one_argument
# => ArgumentError: wrong number of arguments (0 for 1)
herkes açıklayabilir Neden (&block)
özel olarak kabul edilir? Benim anlayışımda, bir argüman için bir varsayılan değer sağlamazsam, o zaman ArgumentError
bekleniyor.
düzenleme @sawa için teşekkürler, şimdi daha temiz görünüyor :) – illusionist