0
不知道如何更好地陳述這個問題的道歉。在Ruby中:我在調用它時以某種方式給出了一個方法,但不知道在哪裏。我認爲它與塊綁定有關?
我注意到{}的塊語法如何立即綁定到對象的左側,然後注意到do/end綁定到啓動該行的對象。在這個過程中,我注意到了這一點:
def a(*)
puts "a: #{block_given?}"
end
def b
puts "b: #{block_given?}"
end
a b {}
#=> b: true
#=> a: false
a b do end
#=> b: false
#=> a: true
的令人困惑的事情是我不需要的(*)操作方法上的「B」(或任何有參數)和兩個方法調用線導致相同錯誤。
我只是不確定發生了什麼事,如果我沒有方法'a'中的(*)參數,那麼它說「錯誤的參數數量0爲0」,但是什麼是我的論點,我通過呢?爲什麼只給予'一個'?