gpt4 book ai didi

ruby-on-rails - 使用虚线路径 key 字符串访问 Ruby 哈希

转载 作者:数据小太阳 更新时间:2023-10-29 06:37:09 24 4
gpt4 key购买 nike

Rails I18n 库将 YAML 文件转换为可通过使用 t() 函数的点分路径调用访问的数据结构。

t('one.two.three.four')

有谁知道如何使用 Ruby 哈希来做到这一点?还是只能通过 YAML 对象直接实现?

最佳答案

只是在路径中的一个点上拆分并遍历它以找到正确的散列?

path.split(".").inject(hash) { |hash, key| hash[key] }

或者,您可以通过递归遍历整个结构来构建新的散列:

def convert_hash(hash, path = "")
hash.each_with_object({}) do |(k, v), ret|
key = path + k

if v.is_a? Hash
ret.merge! convert_hash(v, key + ".")
else
ret[key] = v
end
end
end

关于ruby-on-rails - 使用虚线路径 key 字符串访问 Ruby 哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7139471/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com