2012-10-05 120 views
2

我想讀類似這樣好的紅寶石YAML庫

SLTs: 
     - requests: 600 
     concurrency: 50 
     targets: 
      99%: < 100 
      Requests per second: > 500 

注意的關鍵「每秒請求數」中有空格YAML文件。我已經閱讀了yaml.org上的yaml規範,看起來這沒問題。

Ruby 1.9.2帶有2個yaml庫psych和syck。 精極度緊張是無法讀取該文件

couldn't parse YAML at line 132 column 37 (Psych::SyntaxError) 

SYCK能夠解析它,但它不會延遲工作(我的系統的另一組成部分)正常工作。

我試過1.9.3,結果類似。

YAML的引擎可以使用YAML :: ENGINE.yamler = ...來更改,但我寧願不改變每種情況下的引擎,並使用兩種情況下都能正常工作的庫。

我已經爲它找到了,但找不到任何東西,所以我的問題是:存在比那些在Ruby標準庫中處理YAML更好的庫?我只需要讀取文件。

回答

3

這不是導致問題的密鑰中的空格,而是值:> 500> indicates a scalar in folded style - 錯誤是說在>之後應該只有一條評論或換行符。

你需要逃避你的哈希值:

99%: '< 100' 
Requests per second: '> 500' 
+0

我不知道你是否是正確的,但是喲把它說出來苦力,我couln't幫助自己,但給予好評你: ) –

+0

太棒了。這正是發生的情況。永遠不會解決它。 – user1565940