如何将方法输入参数值与哈希进行比较



>我有以下方法

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')

最新更新