ruby - 方法可变参数(如*options)之后的参数,不可以设置默认值吗?
伊谢尔伦
伊谢尔伦 2017-04-24 09:12:26
0
3
769

譬如:

def calculate(*numbers, method = {:add=>true})

就一直报错:

syntax error, unexpected '=', expecting ')' (SyntaxError)

检索The Ruby Programming Wikibook 的相关语法也没有提示,请问这是什么原因呢?

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全員に返信(3)
黄舟

あなたが通訳だとしたら、calculate({add: true}) 中的参数 {add: true} 分配给 *numbers 呢,还是 methodをどうしますか?

全然判断できないですよね?だからそれは許されないんです。

いいねを押す +0
Peter_Zhu

この *numbers 変数パラメータは最後にのみ指定することはできませんか? *numbers 的可变参数,难道不是只能在最后么?

def calc(method = {add: true}, *numbers); end

def calc(method = {add: true}, *numbers); は許可されますが、その逆は許可されません。 🎜
いいねを押す +0
伊谢尔伦

許可されません、曖昧になります

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート