gpt4 book ai didi

ruby - 在 Ruby 中安全地加载哈希

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

我想将数据结构加载到 Ruby 脚本中,该脚本将字符串映射到包含正则表达式、脚本和原子的某种组合的三元组。它从中加载的文件需要是人类可写的。

目前我正在编写包含 Ruby 散列的文件,将其作为字符串加载并调用 eval。即。

数据文件

{ "key1" => [ /pattern/, "text", "text" ],
"key2" => [ "text2", :nil, "text3" ],
"key3" => [ "text4", /pattern2/, /pattern3/ ] }

脚本

def get_mapping
f = File.new path
return eval(f.read())
end

这很好并且有效,但感觉 (i) 有点像 hack,(ii) 不安全。所以我很想知道:是否有更好的方法来做到这一点?

它几乎是 JSON,但我认为它不能轻松处理原子或正则表达式。文件格式可以更改,因为它保持合理的人类可读/可写性。

最佳答案

你真的应该为这类东西使用 YAML,你的代码真的有风险。

YAML supports regexps并且是相当可扩展的。

关于ruby - 在 Ruby 中安全地加载哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1443224/

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