1
def a(b: 88, c: 97)
puts b
puts c
end
上面的代碼有效。但是,Ruby參數帶可變參數的SyntaxError
def a(b: 88, c: 97, *c)
puts b
puts c
end
引發語法錯誤。任何人都可以指出我解釋它的正確文檔嗎?
def a(b: 88, c: 97)
puts b
puts c
end
上面的代碼有效。但是,Ruby參數帶可變參數的SyntaxError
def a(b: 88, c: 97, *c)
puts b
puts c
end
引發語法錯誤。任何人都可以指出我解釋它的正確文檔嗎?
位置參數先放在方法簽名中。命名的參數最後。
這會工作得更好,但你仍然有一個重複的參數名稱,這是不允許的。
def a(*c, b: 88, c: 97)
puts b
puts c
end
# ~> -:1: duplicated argument name
# ~> def a(*c, b: 88, c: 97)
# ~> ^
偉大的答案與更多的信息:Mixing keyword with regular arguments in Ruby?
什麼是你的代碼應該做的,即什麼是方法中'C'的預期值被稱爲具有不同的價值觀是什麼時候? – Stefan