84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
譬如:
def calculate(*numbers, method = {:add=>true})
就一直报错:
syntax error, unexpected '=', expecting ')' (SyntaxError)
检索The Ruby Programming Wikibook 的相关语法也没有提示,请问这是什么原因呢?
小伙看你根骨奇佳,潜力无限,来学PHP伐。
假设你是解释器,你会把 calculate({add: true}) 中的参数 {add: true} 分配给 *numbers 呢,还是 method 呢?
calculate({add: true})
{add: true}
*numbers
method
完全判断不了对不对?所以是不允许的。
这种*numbers 的可变参数,难道不是只能在最后么?
def calc(method = {add: true}, *numbers); end 是允许的,反过来就不行了。
def calc(method = {add: true}, *numbers); end
不允许,会有歧义
假设你是解释器,你会把
calculate({add: true})
中的参数{add: true}
分配给*numbers
呢,还是method
呢?完全判断不了对不对?所以是不允许的。
这种
*numbers
的可变参数,难道不是只能在最后么?def calc(method = {add: true}, *numbers); end
是允许的,反过来就不行了。不允许,会有歧义