1

如何使用普通方法样式(长编码方式)来定义属性方法?

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
4

1 回答 1

0

您正在@name重写版本中用于几个不同的任务。有时它存储名称,有时它存储legsand的元组arms

你真正想要的是更详细的:

def name=(name)
  @name = name
end

def name()
  @name
end

def legs()
  @legs
end

def arms()
  @arms
end

legs你永远不想分配给or是一件好事arms,因为那将是另外两个毫无意义的方法。

于 2012-07-27T01:21:15.827 回答