LoginSignup
0
0

More than 3 years have passed since last update.

9/10 Tech Expert (事前学習) day 11 / return

Posted at

【学習アウトプット】

今日の目標(やること)
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

〜独り言(まとめやら感想やら)〜

明後日の夕方頃までかなぁー?
最後まで頑張るぞー☆

0
0
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
0
0