如何使用常规方法样式表达属性方法( 长编码方式)来定义它们?
attr_accessor :name
attr_writer :name
attr_reader :legs, :arms
我自己的尝试如下。如果我错了,请通过重新输入为我纠正 它
我的回答是:
def name=(name)
@name = name
end
def name=(legs,arms)
@name = legs, arms
end
def name
@name
end
答案 0 :(得分:0)
您在重写版本中使用@name
来完成一些不同的任务。有时它会存储名称,有时会存储legs
和arms
的元组。
你真正想要的是更加冗长:
def name=(name)
@name = name
end
def name()
@name
end
def legs()
@legs
end
def arms()
@arms
end
这是一件好事,你永远不想分配给legs
或arms
,因为这是两个毫无意义的方法。