以下のすべての値により、構文b
でメソッドを呼び出すことができます。*args
def some_method(a)
puts a
end
b = 1
some_method(*b) # => 1
b = false
some_method(*b) # => false
b = "whatever"
some_method(*b) # => "whatever"
では、引数エラーではなく、nil
を取得することを期待していました:nil
b = nil
some_method(*b) # => ArgumentError: wrong number of arguments (0 for 1)
ここで何が起きてるの?