動画内のエラーについて知りたいです

デフォルト値のない仮引数の前にデフォルト値がある仮引数があったから、という認識で合っています。
2024年6月26日
ユーザー
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 に渡される値が無くなってしまうため、エラーが発生するのは理解できます。

この回答を見るにはプレミアムプランへの登録が必要です

プレミアムプランとは?

このレッスンの質問と回答(2)