Help us understand the problem. What is going on with this article?

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

【学習アウトプット】

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

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

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

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away