如果我在最后有一个等号的方法:
class A
def property= name, value
...
end
end
如何调用方法property=
并将参数传递给它?
答案 0 :(得分:3)
Ruby已经为键值对提供了一种特殊的setter语法。你可以看到它与Hash一起使用:
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
答案 1 :(得分:1)
这是我最终得到的结果(感谢@LeeJarvis的评论):
class A
def property= value
x, y = value
p [x, y]
end
end
A.new.property = 1, 2