我在为我的项目的一部分计算如何解决这个问题时遇到了一些麻烦。基本上我需要采用一个普通的选项卡式文本文件并将其转换为Ruby中的多维哈希,这样我就可以循环检测哪些部分有子项。该文件的一个示例:
hello
world
how
are
you
today
会变成:
{'hello' => ['world', 'how'], 'are' => {'you' => ['today']}}
答案 0 :(得分:2)
由于您的输入格式由您决定,我真的不明白为什么您不使用YAML:
puts { 'hello' => ['world', 'how'], 'are' => { 'you' => ['today'] } }.to_yaml
的产率:
---
hello:
- world
- how
are:
you:
- today
当使用该字符串调用YAML.load
时,会返回原始数据结构。与您的信念相反,YAML不需要“键值语法”。