我有一个字符串,它表示嵌套哈希中的键序列,格式如下:
keys = 'key1[key2]'
和具有相应键的嵌套哈希,如下所示:
hash = {key1: {key2: 'value'}}
有什么方法可以直接从此哈希中获取值,如下所示?
value = hash[keys]
或者,我是否必须编写自己的逻辑?
答案 0 :(得分:3)
hash.dig(*keys.delete(']').split('[').map(&:to_sym))
答案 1 :(得分:0)
要回答您的特定问题,否,据我所知,没有办法通过传递输入字符串直接从哈希中获取值。
您将必须编写自己的逻辑以从字符串中提取键,然后获取值。