2

これに似たyamlファイルを読み込もうとしています

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

キー「Requests per second」にスペースが含まれていることに注意してください。yaml.org の yaml 仕様を読みましたが、これで問題ないようです。

Ruby 1.9.2 には psych と syck の 2 つの yaml ライブラリが付属しています。Psych はこのファイルを読み取ることができません

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

Syck はそれを解析できますが、Delayed Job (私のシステムのもう 1 つの不可欠な部分) では正しく動作しません。

1.9.3 を試してみましたが、同様の結果が得られました。

YAML のエンジンは YAML::ENGINE.yamler = ... で変更できますが、ケースごとにエンジンを変更するのではなく、両方のケースで正しく動作するライブラリを使用したいと思います。

私はそれをグーグルで検索しましたが、何も見つからなかったので、私の質問は次のとおりです。YAMLを処理するためのRuby標準ライブラリよりも優れたライブラリが存在しますか? ファイルを読み取るだけです。

4

1 に答える 1

3

問題を引き起こしているのはキー内のスペースではなく、値です: > 500. >折り畳まれたスタイルのスカラーを示します- エラーは>、コメントまたは改行の後にのみある必要があることを示しています.

ハッシュの値をエスケープする必要があります。

 99%: '< 100'
 Requests per second: '> 500'
于 2012-10-05T04:10:15.763 に答える