Ruby 如何使用方括号调用带有参数的方法?
我想在一个类中定义一个方法,当调用该方法时,它的行为类似于散列,接受带有Ruby 如何使用方括号调用带有参数的方法?,ruby,Ruby,我想在一个类中定义一个方法,当调用该方法时,它的行为类似于散列,接受带有[]的参数,而不是() 我想用这种语法来访问它:content[:benefits]而不是content(:benefits)你可以用lambdas来实现这一点 content = ->(key) { "content for #{key}" } content[:benefits] # => "content for benefits" 你可以用lambdas做这个 content = ->(key)
[]
的参数,而不是()
我想用这种语法来访问它:
content[:benefits]
而不是content(:benefits)
你可以用lambdas来实现这一点
content = ->(key) { "content for #{key}" }
content[:benefits] # => "content for benefits"
你可以用lambdas做这个
content = ->(key) { "content for #{key}" }
content[:benefits] # => "content for benefits"
您可以创建一个不带参数的方法,该方法返回哈希:
def content
{
:beneficts => 1000
}
end
p content[:beneficts]
> 1000
您可以创建一个不带参数的方法,该方法返回哈希:
def content
{
:beneficts => 1000
}
end
p content[:beneficts]
> 1000
在
内容
的类中
def [] key
...
end
在
内容
的类中
def [] key
...
end
我想在一个类中定义一个方法,该类在被调用时的行为类似于散列
唯一的方法是该方法返回一个响应[]
的对象。有关示例,请参见Rails中的params
方法
我想在一个类中定义一个方法,该类在被调用时的行为类似于散列
唯一的方法是该方法返回一个响应[]
的对象。有关示例,请参见Rails中的params
方法