YAML 是否有任何纯 ruby 实现?我需要执行以下操作(在 Rhomobile 中):
YAML.load( hash_string.to_yaml )
其中hash_string
是哈希的字符串表示。我既不能使用标准的 Ruby YAML 库(在 Rhomobile 框架中)也不能使用eval
函数(因为它还没有实现)。
我在纯 Ruby 中遇到了一些不完整的 YAML 实现(例如,ya2yaml)。但是,load
同to_yaml
一个库可能不支持它们一起或它们的变体。
我为什么要问这个:
Rhom 数据库仅支持字符串数据类型。ruby 对象的哈希属性在保存在数据库中时会转换为字符串。当我从数据库中检索对象时,我想取回原始哈希(即,或将其从字符串转换)。我愿意接受任何其他建议。如果您能向我提供分步说明,将标准 Ruby YAML 实现添加为 Rhomobile 框架的扩展,我将不胜感激。我已阅读此处给出的说明。但是,我不知道需要放入 ext.yml 的 SYCK 库的入口点。
我认为正则表达式也可以用于此目的。我不确定它有多可靠。
我对大家表示由衷的感谢。
编辑: 以下为我工作。
Rho::JSON.parse( hash_string.gsub("=>", ":") )