LoginSignup
0
0

More than 5 years have passed since last update.

超基礎編:「返り値・スコープ」の概念を知ろう!

Posted at

「返り値・スコープ」の概念を知ろう!

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

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

name = "TECH"
rename(name)
puts name

解くまでの流れ

[ざっくり全体のコードを見る]→[雰囲気で判断してしまい引っかかる]→[読み直して理解する]

1.ざっくり全体のコードを見る

パッと見た時にメソッドを用いて、何かを出力するんだなと認識する

2.雰囲気で判断してしまい引っかかる

このメソッドはリネームするためのもので下の"TECH"が引数として渡され"TECH::CAMP"と表示されると思っていた

3.読み直して理解する

順に見ていくと、まず変数nameに"TECH"が代入される。続いてrename(name)メソッドを呼び出す。メソッド内の変数は「引数::CAMP」となっていて、それをreturn返り値として返しているだけなので出力はされない。そして最後のputs nameではメソッドは関係ないのでそのまま"TECH"が出力される。

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