def get_total(price = 100, amount, rate = 1.1)
price * amount * rate
end
puts get_total(100, 10)
puts get_total(150, 10)
puts get_total(200, 10)
puts get_total(120, 10, 1.08)
でエラーが発生しましたが、直接的な原因は、デフォルト値のない仮引数の前にデフォルト値がある仮引数があったからという認識でいいでしょうか?
今回の場合、実引数はどれも 2 つ以上あったため、解釈が出来ると思いました。
仮に、
puts get_total(10)
のように実引数が 1 つしかなかった場合 price
に 10 が渡されて、amount
に渡される値が無くなってしまうため、エラーが発生するのは理解できます。
この回答を見るにはプレミアムプランへの登録が必要です
プレミアムプランとは?