【週刊ドットインストール】 考える力を養うための新クラス『データで学ぶアルゴリズム』を256timesでリリース!
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 に渡される値が無くなってしまうため、エラーが発生するのは理解できます。
price
amount
ドットインストールは、3分動画でマスターできるプログラミング学習サービスです。
3分で気軽に学習でき、スマートフォンからも視聴可能です。ホームページやWebサービスの制作を通して、実践的にプログラミングを学べます。
他にも、ゲーム制作やデータ分析・機械学習・AIに使われる言語まで幅広くカバー。学びたい分野のレッスンがきっと見つかります。
この回答を見るにはプレミアムプランへの登録が必要です
でエラーが発生しましたが、直接的な原因は、デフォルト値のない仮引数の前にデフォルト値がある仮引数があったからという認識でいいでしょうか?
今回の場合、実引数はどれも 2 つ以上あったため、解釈が出来ると思いました。
仮に、
のように実引数が 1 つしかなかった場合
priceに 10 が渡されて、amountに渡される値が無くなってしまうため、エラーが発生するのは理解できます。