def a(b: 88, c: 97)
puts b
puts c
end
以上代码有效。但是,
def a(b: 88, c: 97, *c)
puts b
puts c
end
引发语法错误。任何人都可以向我指出解释它的正确文档吗?
答案 0 :(得分:5)
位置参数在方法签名中排在第一位。命名参数最后。
这样可以更好地工作,但您仍然有一个重复的参数名称,这是不允许的。
def a(*c, b: 88, c: 97)
puts b
puts c
end
# ~> -:1: duplicated argument name
# ~> def a(*c, b: 88, c: 97)
# ~> ^