yuuki blog

プログラミング をアプトプットしています。

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)