0

YAMLファイルを解析した後、Ruby配列内で値の正しい順序を設定する必要があります。

私の問題を示すこの簡単な例があります:

x = "columns:\n  col_1 : ~\n  col_2 : ~\n  col_3 : ~\n  col4 : ~"
s = YAML::load(x)

コンソール出力は以下を提供します:

x = "columns:\ n col_1:〜\ n col_2:〜\ n col_3:〜\ n col4:〜"
=> "columns:\ n col_1:〜\ n col_2:〜\ n col_3:〜\ n col4: 〜"
s = YAML :: load(x)
=> {" columns "=> {" col_3 "=> nil、" col4 "=> nil、" col_1 "=> nil、" col_2 "=> nil}}

「列」配列は、入力データの場合とは異なる順序になっています:(

4

1 に答える 1

4

ここでは、配列ではなくマップを作成しています。私が覚えている限り、リストの構文は次のとおりです。

columns:  
- col_1 : ~
- col_2 : ~
- col_3 : ~
- col_4 : ~

これにより、マップ{"columns" => [{"col_1" => nil}、{"col_2" => nil}、{"col_3" => nil}、{"col4" => nil}] I仮定します(テストしませんでした)。

于 2009-09-29T16:04:06.097 に答える