LoginSignup
7
3

More than 3 years have passed since last update.

インスタンス変数について

Last updated at Posted at 2018-08-14

はじめに

上京したてで、筋トレと日サロが友達。友達探している系エンジニアのギノキンです。(エンジニアではない。m(_ _)m)

インスタンス変数について

インスタンス変数とは

@ を先頭に持って来て定義する
クラス内であれば全メゾットで使用することができる

下記に通常使っている省略した定義文を記載します。

def Menu
  attr_accessor :name 

# :nameはインスタンス変数です。

通常この attr_accessor :(インスタンス変数)で省略した形で定義します。

それでは、今回は
このattr_accessor :(インスタンス変数)の中身を確認します。

class Menu

 def name                    #nameの箱のメソッド
  @name
 end

 def name=(name)      #nameの中身のメソッド
  @name = name
 end

end

menu = Menu.new        #menuインスタンスを生成(nameの箱のことをmenuと名付ける)
menu.name=("ピザ")  #nameの中身メソッドに”ピザ”を代入する


puts menu.name          #nameの出力文(menuの箱の中のnameを出力してください)
=> ピザ

しつこいくらい説明文を織り込んでおりますが、中身はこのようになっております。

一つのインスタンス変数を定義するだけで、これだけのプログラムをかかなければなりません。

一つだけでならいいですが、いくつものインスタンス変数を定義するとなると、書くプログラムも膨大になり、
デバック時にわかりづらいプログラムになってしますので、

省略されるような形が用意されております。

省略形 attr_accessor :(インスタンス変数)について理解のお助けになれば幸いです。

おわりに

独学で勉強しているため、間違った情報等ありましたら、ご教示お願い致します。
勉強会などあれば参加してみたい。\(^o^)/

7
3
3

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