2012-03-05 3 views
0

私のプロジェクトの一環として、これについてどうやってどうやってやっていくのかが分かりません。基本的には、通常のタブ付きテキストファイルをRubyの多次元ハッシュに変換する必要があります。そのため、どのパーツに子があるかを調べることができます。ファイルの例:Rubyを使ってタブ付きのテキストファイルをMultiDimensionalハッシュに変換しますか?

hello 
    world 
    how 
are 
    you 
     today 

はなる:

{'hello' => ['world', 'how'], 'are' => {'you' => ['today']}}

+0

先頭の空白は実際にはタブ文字か所定のスペース数ですか? –

+0

好ましくはタブである。 yamlとよく似ていますが、変数に値を割り当てる必要はありません。 – andy

+1

「好ましくは」とはどういう意味ですか?あなたの入力ファイルがそのような柔軟性があるなら、YAMLだけを使用してください。 –

答えて

2

ご入力フォーマットは、あなた次第ですので、あなたはYAMLを使用していない理由は、私は本当に理解していない:

puts { 'hello' => ['world', 'how'], 'are' => { 'you' => ['today'] } }.to_yaml 

利回り:

--- 
hello: 
- world 
- how 
are: 
    you: 
    - today 

その文字列でYAML.loadを呼び出すと、元のデータ構造が返されます。あなたが信じていることとは反対に、YAMLは「キーバリュー構文」を必要としません。

関連する問題