Wie erstelle ich ein leeres Array in YAML?

188
array_with_three_elements:
- 1
- 2
- 3

empty_array:

Gibt es eine Möglichkeit, das empty_array anzugeben: Ist ein Array ohne Elemente, z. B. mit []? Wenn ich es in einen Ruby-Hash lade, möchte ich, dass es weiß, dass es sich um ein Array handelt.

Vielen Dank

Julian Mann
quelle
14
Sie haben versucht , mit []?
Jimmy

Antworten:

305

Versuchen Sie es mit []:

empty_array: []

In Ruby haben Sie also:

x = YAML::load("empty_array: []")
x # => {"empty_array" => []}
Maerics
quelle
32
Ich wollte nur hinzufügen, dass Sie in irb etwas eingeben können wie: "require 'yaml'; YAML :: dump ({: hi => []})", um zu sehen, was das yaml für ein Objekt sein sollte.
Mike A.
20
Ich möchte nur darauf hinweisen, dass JSON eine offizielle Teilmenge von YAML 1.2 und fast eine Teilmenge früherer Versionen ist. So []funktioniert für eine leere Sequenz,"" für eine leere Zeichenfolge und {}für eine leere Zuordnung.
Daniel H
2
@DanielH Beachten Sie, dass YAML-Parser möglicherweise keine Zeilenumbrüche innerhalb []oder {}Strukturen unterstützen, was eine große Inkompatibilität mit JSON darstellt (Kopieren und Einfügen aus Wikipedia) ) darstellt. Cheers
olibre
2
Viele Parser sind noch auf YAML 1.1; Das ist wahrscheinlich das, worüber Wikipedia spricht. In der Version 1.2 geht es darum, JSON zu einer offiziellen Teilmenge zu machen.
Daniel H
wie wäre es mit strictyaml?
Xaser