【发布时间】:2021-09-01 03:04:03
【问题描述】:
我想用 ruby 编写一个方法来替换当前仅返回哈希的方法。
所以目前我们有这个
def some_stats
{
:foo => "bar",
:zoo => "zar"
}
end
可以这样调用:
some_stats[:foo]
我想用一个用 :foo 调用的方法来替换它,它会做一些更复杂的事情,只是构建一个哈希。但是,我希望以同样的方式调用它,使用方括号表示法。 EG
#this is a bit pseudo-cody but hopefully you get the idea.
def some_stats[](key)
if key.to_s =~ /something/
#do something
return something
else
#do something else
return something_else
end
end
这仍然会被称为some_stats[:foo]
我无法确定定义方法名称的语法:上面的def some_stats[](key) 不起作用。不过我觉得这应该是可能的。
【问题讨论】: