2

最後に等号が付いたメソッドがある場合:

class A
  def property= name, value
    ...
  end
end

property=メソッドを呼び出して引数を渡すにはどうすればよいですか?

4

2 に答える 2

3

Ruby には、キーと値のペアのための特別なセッター構文​​が既にあります。ハッシュで使用されていることがわかります。

phone_numbers = { Bob: "555-555-1234", Francine: "555-555-5678"}
phone_numbers[:Jenny] = "555-867-5309"

独自のクラスでこの構文を取得するには、次のようにします。

def []=(key, value)
  # set the value however you like
end 
于 2013-03-28T18:27:18.827 に答える
1

これが私が最終的に得たものです(@LeeJarvisのコメントに感謝します):

class A
  def property= value
    x, y = value
    p [x, y]
  end
end

A.new.property = 1, 2
于 2013-03-28T18:36:56.990 に答える