使用单个字符串从哈希中获取嵌套值

时间:2018-10-31 07:51:29

标签: ruby-on-rails ruby hash

我有一个字符串,它表示嵌套哈希中的键序列,格式如下:

keys = 'key1[key2]'

和具有相应键的嵌套哈希,如下所示:

hash = {key1: {key2: 'value'}}

有什么方法可以直接从此哈希中获取值,如下所示?

value = hash[keys]

或者,我是否必须编写自己的逻辑?

2 个答案:

答案 0 :(得分:3)

hash.dig(*keys.delete(']').split('[').map(&:to_sym))

答案 1 :(得分:0)

要回答您的特定问题,,据我所知,没有办法通过传递输入字符串直接从哈希中获取值。

您将必须编写自己的逻辑以从字符串中提取键,然后获取值。