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


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" => []}

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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.