函数定义中的ruby默认参数导致语法错误

时间:2014-07-18 10:07:35

标签: ruby

以下方法定义有什么问题?

def method1(param1="val1", param2, param3="val3")
  #do something
end

2 个答案:

答案 0 :(得分:1)

Default Values文档很清楚: -

参数可能有默认值:

def add_values(a, b = 1)
  a + b
end

默认值不需要先显示,但默认值的参数必须组合在一起。这没关系:

def add_values(a = 1, b = 2, c)
  a + b + c
end

这将引发 SyntaxError

def add_values(a = 1, b, c = 1)
  a + b + c
end

答案 1 :(得分:-1)

在Ruby 2.1+中你可以像这样写

def method(a: '', b: , c: '')
  # your code here a, b, c
end