ume

インスタンス変数とは?

共有しようと思った経緯

私は今rubyを勉強して約2〜3週間なのですがたくさん出てくる新しい用語にあまり理解せずに勉強を続けていました。 しかし、曖昧に理解することは『想定外のエラーを招く可能性が高くなる』という危機感を感じました。また私と同様な学習をしている方がいるかもと感じましたので共有させていただきます。

解決したいこと

インスタンス変数を子供にでも理解できるように説明できるようにする

インスタンス変数とは?

⇨特殊な変数です。 何が特殊かというと↓

ローカル変数との比較

変数 書き方 特徴
ローカル変数 変数名 定義した場所からメソッド定義が終わるまで
インスタンス変数 @変数名 クラス内で定義されているインスタンスメソッドならどこでもok

コードで見てみよう

class User
def initialize(name)
  @name = name
# ↑@nameインスタンス変数
  end 

  def hello 
  puts "i am #{@name}"#@nameを定義したメソッド外でも使える
end

user = User.new('mike')
user.hello # i am mike

#----略----

まとめ

インスタンス変数は「特殊な変数』です。

クラス内のメソッドの中ならどこでも呼べる

@変数名で定義する