>我有以下方法
def method(value)
hash = {a: 'abc', b: 'bde'}
get_value = hash.send(value)
end
如何将输入参数值与哈希键进行比较并将该键值分配给get_value
?
编辑:因此,如果输入值a
与哈希进行比较,则将其值abc
分配给get_value
你可以使用哈希的正常#[]
方法来提取值,
def do_something(value)
hash = { a: 'abc', b: 'bde' }
get_value = hash[value]
end
如果您希望在他们传递错误密钥时出现错误,您可以使用fetch
:
def do_something(value)
hash = { a: 'abc', b: 'bde' }
get_value = hash.fetch(value)
end
最后,如果未找到键,fetch
可以采用默认值,而不是出错:
def do_something(value)
hash = { a: 'abc', b: 'bde' }
get_value = hash.fetch(value, 'key not found')
end
在所有这些中,请确保传入哈希的确切键,在您的示例中,哈希键是符号,因此您需要传入:
do_something(:a)
而不是
do_something('a')