我正在寻找一个现有的YAML文件,配置如下:
en:
calendars:
gregorian:
days:
format:
abbreviated:
fri: Fri
mon: Mon
sat: Sat
sun: Sun
thu: Thu
tue: Tue
wed: Wed
narrow: :"calendars.gregorian.days.stand-alone.narrow"
wide:
fri: Friday
mon: Monday
sat: Saturday
sun: Sunday
thu: Thursday
tue: Tuesday
wed: Wednesday
(etc.)
并从键值对中删除值。基本上它看起来像:
en:
calendars:
gregorian:
days:
format:
abbreviated:
fri:
mon:
sat:
sun:
thu:
tue:
wed:
我在1.9.3中使用Psych将YAML文件导入为哈希(Psych.load_file
等) - 是否有一个我可以通过Psych调用的函数,或者只是普通的Ruby来删除这些对中的所有值?
答案 0 :(得分:1)
如果已经在哈希中加载了yaml,只需使用ruby来转换数据结构。
format = loaded_yaml['en']['calendars']['gregorian']['days']['format']
format['abbreviated'] = format['abbreviated'].keys.inject({}) {|m,k| m[k] = nil; m }