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書き直したバージョンでは、いくつかの異なるタスクに使用しています。名前を格納する場合もあれば、 と のタプルを格納する場合もlegsありarmsます。

あなたが本当に欲しいのは、はるかに冗長です:

def name=(name)
  @name = name
end

def name()
  @name
end

def legs()
  @legs
end

def arms()
  @arms
end

legsまたはに割り当てたくないのは良いことですarms。それは、さらに2つの無意味なメソッドになるからです。

于 2012-07-27T01:21:15.827 に答える