classでよく見かけるこいつら、整理してみた
①attr_accessorを利用した場合
attr_accessor :name
def initialize(name)
@name = name
end
#----略----
②「@」を用いたインスタンス変数を用いる場合
def initialize(name)
@name = name
end
#----略----
def name
@name
end
def name=(val)
@name = val
end
①と②は同じ意味である。
ちなみにdef name=(val) とは
インスタンス名.name = "hogehoge"
のように、インスタンス変数nameへの代入式を書いた時に呼び出されるメソッド。