getter/setter

ActiveRecordで、メンバに代入する様にしてsetterを使っていたので中見てみたらこんな感じだった

=までを関数名に含めると、オブジェクト.name = 引数みたいに代入風になる

#!/usr/bin/ruby

class AccessorTest
  def initialize(name)
    @name = name
  end
  
  # getter
  def name
    @name
  end
  
  #setter
  def name=(name)
    @name = name
  end
end

test = AccessorTest.new('hage')
puts test.name # get

test.name = 'asdf' # set
puts test.name # get

出力

sho@hashimoto-shou-no-macbook% ruby test.rb                                                                                                                          [~/src]
hage
asdf