可以通过以下方式实现:
def create_nested_hash(keys, value)
hash = {}
current_hash = hash
keys.each_with_index do |key, index|
if index == keys.length - 1
current_hash[key] = value
else
current_hash[key] = {}
current_hash = current_hash[key]
end
end
hash
end
keys = ['a', 'b', 'c']
value = 'Hello World'
nested_hash = create_nested_hash(keys, value)
puts nested_hash
上述代码中,我们定义了一个create_nested_hash
方法,该方法接受一个键数组keys
和一个值value
作为参数。我们首先创建一个空哈希hash
,然后使用each_with_index
方法遍历键数组。在循环中,我们检查当前索引是否为最后一个,如果是,则将值赋给当前哈希的键;如果不是,则创建一个新的哈希,并将当前哈希指向新创建的哈希。最后,我们返回创建的深度嵌套哈希。
对于给定的键数组['a', 'b', 'c']
和值'Hello World'
,上述代码将创建一个深度嵌套的哈希{'a' => {'b' => {'c' => 'Hello World'}}}
。你可以根据实际需求修改键数组和值来创建不同的深度嵌套哈希。
这是一个基本的示例,你可以根据实际需求进行扩展和修改。在实际开发中,你可以根据具体的业务逻辑和数据结构来使用循环创建深度嵌套哈希。
领取专属 10元无门槛券
手把手带您无忧上云