Ruby初心者課題 return スコープ メソッドについて


課題を解いて学んだことを書いていきます

Q 以下のコードを実行すると、ターミナルにはなんと表示されるでしょうか?

qiita.rb

 def rename(name)
  name = "#{name}::CAMP"
  return name
end

name = "TECH"
rename(name)
puts name

解答↓

TECH

メソッドの中で定義された変数(今回は2行目のname)はメソッドの中でしか使えない。(変数のスコープという)
メソッドの中でreturnを使うと、呼び出し元で値を受け取れるようになる。

<returnの性質>
返り値(戻り値)を返す
メソッドの処理を終了させる→returnの後にあるメソッドの処理は実行されない

※他の言語では関数の返り値はreturnメソッドで設定されることが多いが、Rubyではreturnを省略することができ、メソッド内で最後に実行された値が自動的に入るという設計になっている。