attr_accessorメソッドについて

attr_accessorメソッドとは

クラスにインスタンス変数を読み書きするためのアクセサメソッドを定義するメソッドのこと

使い方

class Car
  attr_accessor :name
end
class Car
  def name
    @name
  end
  def name(val)
    @name = val
  end
end

上記の2つのコードは同じことを意味している.

アクセスメソッドを定義するとインスタンス変数に外部からアクセスすることができる.

今日の気付き

インスタンス変数は同じクラス内に定義されたインスタンスメソッド内でも使えることは知っていたが, インスタンスメソッドも同じことができることは知らなかった.知らなかったため,理解するのに時間がかかった.

class Car
  attr_accessor :name

  def print_upcase
    puts name.upcase
  end

  def coppy
    print_upcase
  end
end

car = Car.new
car.name = "a"
car.print_upcase
car.coppy

=>
A
A

このように記述して実行しても,得たい結果を得ることができる.

自分で簡単なコードを書いて確かめてやっとわかった. 自分でやってみることが大事!