Ответ 1
base_array: &base_array_alias
- 1
- 2
my_array:
- <: *base_array_alias
- 3
Предположим, что у меня есть:
base_array:
-1
-2
как я мог бы сделать что-то вроде:
my_array: << base_array
-3
так что my_array был [1,2,3]
Обновление: я должен указать, что я хочу, чтобы расширение выполнялось внутри самого YAML.
base_array: &base_array_alias
- 1
- 2
my_array:
- <: *base_array_alias
- 3
Поскольку уже прокомментированная проблема № 35 существует, клавиши слияния <<
вам не помогут. Это только сливает/вставки ссылочных ключей в карту (см YAML документов слияния). Вместо этого вы должны работать с последовательностями и использовать anchor &
и alias *
.
Итак, ваш пример должен выглядеть так:
base_list: &base
- 1
- 2
extended: &ext
- 3
extended_list:
[*base, *ext]
Будет выдавать результат в виде (JSON):
{
"base_list": [
1,
2
],
"extended": [
3
],
"extended_list": [
[
1,
2
],
[
3
]
]
}
Хотя это не совсем то, что вы ожидали, но, возможно, ваша среда синтаксического анализа/загрузки может сгладить вложенный массив/список в простой массив/список.
Вы всегда можете проверить YAML онлайн, например, использовать: