はじめに
上京したてで、筋トレと日サロが友達。友達探している系エンジニアのギノキンです。(エンジニアではない。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^)/