rubyでselfの使い方がよく分からない。
ということで、調べていくうちに、そもそもクラスってなんだっけ?
インスタンスってなんだっけ?インスタンス変数って?
インスタンスメソッド?あれ?ってなってしまった。
的な状態が今。
- クラス :設計図
- インスタンス :設計図を元に生成された実際のモノ
- インスタンス変数 :---下例①
ruby.rb
class Ruby_lesson
attr_accessor :weakday
#↑これがインスタンス変数
attr_accessor :teacher
#↑これがインスタンス変数
attr_accessor :price
#↑これがインスタンス変数
つまりインスタンスが持つ情報を変数化したもの、というイメージ
- インスタンスメソッド :クラスの中で定義しインスタンスに対して呼び出すもの---下例②
ruby.rb
class Ruby_lesson
attr_accessor :weakday
attr_accessor :teacher
attr_accessor :price
def info
puts "情報を参照します"
#↑infoメソッドは"情報を参照します"を出力する、ということを定義した
end
end
lesson1 = Ruby_lesson.new
#Ruby_lessonクラスのインスタンスを生成しlesson1に代入した
lesson1.info
#Ruby_lessonクラスの中のインスタンスlesson1に対しinfoメソッドを呼び出した
#実行結果=>
"情報を参照します"
さあ本題だ!! self.インスタンス変数とは何か
・・・かれこれ1時間格闘したけど分からなかった。
self.を抜かしてコードを書いても結果が変わらないじゃないか!
教えて、わかる人ーーー!!