2009-09-29 72 views
0

解析YAML文件後,我需要在Ruby數組中有正確的值順序。YAML數據序列問題

我有一個顯示我的問題,這個簡單的例子:

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

控制檯輸出給:

X =「列:\ n COL_1:〜\ n COL_2:〜\ n col_3:〜 \ n COL4:〜」
=> 「列:\ n COL_1:〜\ n COL_2:〜\ n col_3:〜\ n COL4:〜」
S = YAML ::負載(x)的
=> { 「columns」=> {「col_3」=> nil,「col4」=> nil,「col_1」=> nil,「col_2」=> nil}}

「列」陣列處於不同的順序,因爲它是在輸入數據:(

回答

4

你在這裏建設一個地圖不是一個數組。作爲車費我記得列表語法是:

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

這將導致地圖{ 「列」=> [{ 「COL_1」=>零},{ 「COL_2」=>零},{」 col_3「=>無},{」col4「=>無}]我想(沒有測試它)。

+0

非常感謝。你是對的。必須學習更多的YAML規格:) – oskarae 2009-09-29 16:12:41

+0

RTFM總是如此。 :-) – 2009-09-29 16:17:58