【学習アウトプット】
今日の目標(やること)
Ruby!!!!w
今日のまとめ
return(リターン)
returnはメソッド自体の答(返り値)となる
returnを利用した場合の例
(returnを利用した時点で返り値が決まるため、メソッドはその行で強制終了。)
def sample
"1"
"2"
return"3" # ここで処理は終わり
"4" # 呼ばれない
end
puts sample # => 3
returnを利用しない場合の例
(returnを省略した場合、そのメソッドの中で最後に実行された式の値がメソッドの返り値となる。)
def sample
"1"
"2"
"3"
"4" # 最後に実行されている
end
puts sample # => 4
使い方例-1
def mixer(fruit)
puts "#{fruit}を細かく砕く"
return "#{fruit}ジュース"
end
puts mixer("リンゴ")
def mixer(fruit)
本引数"リンゴ"が代入される。
puts "#{fruit}を細かく砕く"
fruitには"リンゴ"が
return "#{fruit}ジュース"
"リンゴジュース" がmixer(fruit)全体の返り値に。
puts mixer("リンゴ")
返り値である"リンゴジュース"が出力される
$リンゴを細かく砕く
りんごジュース
juice = mixer("ブドウ") # 変数に代入
puts juice #=> ブドウジュース
使い方例-2
def rename(name)
name = "Mr.#{name}"
end
name = "Tanaka"
rename(name)
puts name #Tanaka
Mr.Tanaka になると思ったが?
↓解答
スコープ外!
メソッド内では Mr.Tanaka になっている。
メソッド内の変数nameの値(仮)を変えても、引数の変数name(本)とは別物のため、外は外でnameに代入する必要がある
def rename(name)
name = "Mr.#{name}"
end
name = "Tanaka"
name = rename(name)
puts name #Mr.Tanaka
〜独り言(まとめやら感想やら)〜
明後日の夕方頃までかなぁー?
最後まで頑張るぞー☆