我想在一个类中定义一个方法,当调用它时,它就像一个哈希,接受[]
而不是()
的参数。
def content(key)
end
我希望使用这种语法来访问它:content[:benefits]
而不是content(:benefits)
。
答案 0 :(得分:3)
您可以使用lambdas
执行此操作content = ->(key) { "content for #{key}" }
content[:benefits] # => "content for benefits"
答案 1 :(得分:1)
在content
的课程中
def [] key
...
end
答案 2 :(得分:1)
我想在类中定义一个方法,当调用它时,它就像一个哈希
唯一的方法是,该方法返回一个响应[]
的对象。有关示例,请参阅Rails中的params
方法。
答案 3 :(得分:0)
你可以创建一个没有参数的方法,它返回一个哈希:
def content
{
:beneficts => 1000
}
end
p content[:beneficts]
> 1000