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