Ruby 中的 Attr_accessor、Attr_reader 和 Attr_writer
    
    
            Stewart Nguyen
    2023年1月30日
    
    Ruby
    Ruby Accessor
    
 
attr_accessor、attr_reader 和 attr_writer 用於將你的意圖傳達給讀者,並使編寫類更容易。
在 Ruby 中使用 get_data 和 set_data 更改儲存在例項變數中的資料
    
我們希望其他類訪問或更改儲存在例項變數中的資料。
class Foo
  def initialize(data)
    @data = data
  end
  def get_data
    @data
  end
  def set_data(new_data)
    @data = new_data
  end
end
對於初學者來說,這是一種笨拙的入門方式。Ruby 提供了一種更方便的方式來實現與 attr_accessor 相同的結果。
在 Ruby 中使用 attr_accessor 訪問或更改儲存的例項變數中的資料
class MyClass
  attr_accessor :data
  def initialize(data)
    @data = data
  end
end
attr_accessor 將為 MyClass 定義兩個例項方法:getter #data 和 setter #data=
我們可以使用上述的 get_data 和 set_data 方法。
my_instance = MyClass.new('private_information')
my_instance.data
=> 'private_information'
my_instance.data = 'information_changed'
puts my_instance.data
輸出:
'information_changed'
當我們只需要類中的 getter 方法時,我們可以使用 attr_reader 而不是 attr_accessor。
僅使用 attr_writter 定義 setter 方法。
        Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe