Ruby メソッドの使い方
問題
以下のプログラムを実行するとエラーが起きます。
①エラーが起きた原因
②正しいソースコード
をそれぞれ答える問題です。
price = 300 def calculate_price_with_tax tax = 0.1 return price + price * tax end calculate_price_with_tax
①エラーが起きた原因
メソッドの外側で定義した変数は、メソッドの内側では使えません。そのため、1行目のpriceはcalculate_price_with_taxメソッドの中では使えずにエラーが起きてしまった。
回答
def calculate_price_with_tax
price = 300 tax = 0.1 return price + price * tax end calculate_price_with_tax
メソッドの中にproceを定義する
price = 300 def calculate_price_with_tax(price) tax = 0.1 return price + price * tax end calculate_price_with_tax(price)
変数priceを引数で渡す
price = 300 def calculate_price_with_tax(price) tax = 0.1 return price + price * tax end calculate_price_with_tax(300)