メソッド、引数、戻り値・・・わからなすぎる
とりあえず、例を見てみよう
# def メソッド名でメソッドを定義
def add(a, b)
# return 値で呼び出し元に値を返す
return a + b
# ↑aとbを足した値が戻り値として呼び出し元に返る。あとはendで閉じる
end
# メソッドの呼び出し部分がそのまま戻り値に置き換わる
# 変数sumに呼び出し部分add(1,3)を代入する
sum = add(1,3)
# 表示してみよう
puts sum
・・・わかった?
実行結果
4
if文で使う条件式をreturnすることで、その結果として得られる真偽値(true, false)を返すことができる。
真偽値を返すメソッドにはメソッド名の末尾に「?」をつける習慣がある
まあいったん見てみよう。
# def メソッド名でメソッドを定義
def negative?(number)
# return 値(number<0)で真偽値(trueかfalse)を返す
return number<0
# endで閉じる。
end
# メソッドで定義したnumberに5を当てはめて真偽判定しよう
# 確認だがあくまでも返ってくるのは真偽値(trueかfalse)だ
puts negative?(5)
実行結果は?
false
演習
引数priceを受け取るメソッドshipping_free?を定義し、そのメソッドの中でprice >= 5000を戻り値として返す。
if文の条件式でshipping_free?メソッドを呼び出し、その際引数を3000とする。
真偽値がtrueの場合は"5000円以上のお買い上げなので送料はいただきません",
真偽値がfalseの場合は"追加で送料をいただきます"
と出力してみよう。
解説はなし!やってみよう。
def shipping_free?(price)
return price >= 5000
end
if shipping_free?(3000)
puts "5000円以上のお買い上げなので送料はいただきません"
else
puts "追加で送料をいただきます"
end