double splat을 사용하여 해시 변수를 확장하려고 시도하는 이상한 동작이 발생했습니다. 왜 이런 일이 일어나고 있는지 모르겠다.Ruby에서 double splat을 사용하여 변수에서 빈 해시 확장하기
내 루비 버전 이런 일이 왜
class MyClass
def my_method; end
end
MyClass.new.my_method(*[]) # returns nil
MyClass.new.my_method(**{}) # returns nil
MyClass.new.my_method(*[], **{}) # returns nil
# Using variables
values = []
k_values = {}
MyClass.new.my_method(*values) # returns nil
MyClass.new.my_method(**k_values) # *** ArgumentError Exception: Wrong number of arguments. Expected 0, got 1.
MyClass.new.my_method(*values, **k_values) # *** ArgumentError Exception: Wrong number of arguments. Expected 0, got 1.
# In summary
MyClass.new.my_method(**{}) # returns nil
MyClass.new.my_method(**k_values) # *** ArgumentError Exception: Wrong number of arguments. Expected 0, got 1.
가 하나라도 알고 있나요
ruby 2.2.6p396 (2016-11-15 revision 56800)
시나리오? 이거 버그 야?
'my_method' 코드는? – MikDiet
작전, 잊어 버렸습니다! 지금 업데이트 중 ... – rafaels88