如果我有一个末尾带有等号的方法:
class A
def property= name, value
...
end
end
如何调用该方法property=
并将参数传递给它?
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
这是我最终得到的结果(感谢@LeeJarvis 的评论):
class A
def property= value
x, y = value
p [x, y]
end
end
A.new.property = 1, 2