В YAML вы можете легко создавать многострочные строки . Однако мне бы хотелось иметь возможность создавать многострочный массив (в основном для удобства чтения в файлах конфигурации) с использованием |
символа.
YAML массив может быть представлен в виде: ['key1', 'key2', 'key3']
.
YAML последовательность использует тир , а затем пробел , а затем строка:
- String1
- String2
- String3
Это будет вычисляться: ['string1', 'string2', 'string3']
.
Отображение YAML - это массив пар ключей и значений, которые мы все время видим в YAML:
Key1: string1
Key2: string2
Key3: string3
Это все хорошо, но я не могу понять, как сделать многострочный массив. Что-то вроде этого:
|
['string1', 'string2', 'string3']
['string4', 'string5', 'string6']
Если не считать создания множественных отображений массивов в YAML и объединения их на моем языке выбора, есть ли способ достичь многострочных массивов, может быть, с помощью { }
Python, но в YAML?
Ответы:
YAML последовательность является массивом . Так что это правильный способ выразить это:
Это идентично по значению:
Также допустимо разбивать однострочный массив на несколько строк:
и даже иметь многострочные строки в однострочных массивах:
источник
ты пробовал это?
Я получаю это:
[{"name"=>"Jack", "age"=>32}, {"name"=>"Claudia", "age"=>25}]
(Я используюYAML
класс Ruby).источник
Следующее будет работать:
Я проверил это с помощью реализации snakeyaml, хотя я не уверен в других реализациях.
источник
myarray: [String1, String2, String3,
а вторая строка - `String4, String5, String5, String7]`Следующее работает для меня и хорошо с точки зрения читабельности, когда значения элементов массива малы:
Примечание: используется реализация snakeyaml
источник
Если вам нужен массив массивов, вы можете сделать это следующим образом:
источник