为了授予对实例变量的写访问权限,我们使用attr_writer
,或通过以下方式手动定义访问器方法:
class Car
attr_reader :color
def initialize(color)
@color = color
end
def color=(new_color)
@color = new_color
end
end
为什么使用=
?我以为这只是个约定。如果我使用*
而不是=
,则无法使用。
在哪里可以找到有关在Ruby内部如何构建此方法的信息?
答案 0 :(得分:0)
这很直观,因为attr_writer
是一个setter方法,并且由于变量分配是用my_string = 'foo'
在ruby中完成的,所以很有意义。
如果您想要来源,请参见https://apidock.com/ruby/Module/attr_writer