YAMLで空の配列を作成するにはどうすればよいですか?


190
array_with_three_elements:
- 1
- 2
- 3

empty_array:

empty_array:がのような要素のない配列であることを指定する方法はあります[]か?ルビーハッシュにそれをロードするとき、それが配列であることを知りたいです。

ありがとう


14
使ってみました[]か?
ジミー

回答:


307

次の[]ように使用してみてください:

empty_array: []

Rubyでは次のようになります。

x = YAML::load("empty_array: []")
x # => {"empty_array" => []}

32
irbに移動して「require 'yaml'; YAML :: dump({:hi => []})」のように入力して、オブジェクトのyamlがどうあるべきかを確認できることを追加したいと思います。
マイクA.

20
JSONはYAML 1.2の公式サブセットであり、以前のバージョンのほぼサブセットであることを指摘したいと思います。したがって[]、空のシーケンスで""機能し、空の文字列で{}機能し、空のマッピングで機能します。
Daniel H

2
@DanielH YAMLパーサーは、JSONとの主要な非互換性である内部[]または{}構造の改行をサポートしない場合があることに注意してください(Wikipediaからのコピーと貼り付け)Cheers
olibre

2
多くのパーサーはまだYAML 1.1を使用しています。これはおそらくウィキペディアが話していることです。1.2リリースの要点は、JSONを公式のサブセットにすることです。
ダニエルH

strictyamlはどうですか?
Xaser
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.