LoginSignup
10
13

More than 5 years have passed since last update.

【Ruby】メソッドの戻り値ってなんだ

Last updated at Posted at 2018-06-24

メソッド、引数、戻り値・・・わからなすぎる

とりあえず、例を見てみよう

#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
10
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
13