有a question @coreyward谈论单独使用它,但没有举例说明何时。网上的其他消息来源暗示了一些用例,但我还没有找到任何列出真实世界示例的来源。您何时想要写入数据但无法读取数据?
答案 0 :(得分:4)
你并不总是想要阅读它;有时默认的编写器很好,但你想要一个自定义阅读器。举个例如,这个人类:
class Person
attr_writer :name
attr_accessor :title
def initialize(name, title)
@name = name
@title = title
end
def name
"#{@title} #{@name}"
end
end
此处,通过attr_reader
或attr_accessor
为name
创建阅读器将是多余的,因为我正在定义自己的name
方法,因为有自定义规则,我应该总是用标题显示名称。
顺便说一句,有人可能会说我的name
方法应该更像name_with_title
或者你有什么,但我仍然不会想要默认的name
来自读者的方法,因为我仍然希望对该名称的所有访问都能通过这个其他方法。