Возможен ли ключ набора YAML, и если да, то как он выглядит?

#set #key #yaml

#установить #Клавиша #yaml

Вопрос:

Из того, что я понимаю до сих пор, ключ набора YAML будет выглядеть так…

 ? thing1
? thing2
? thing3
: value
  

Это точно?

обновление: я вставил этот код в yamllint.com и попал…

 --- 
thing1: ~
thing2: ~
thing3: value
  

Я не думаю, что это то, чего я хотел : ( .

Комментарии:

1. Вы должны использовать пример кода и правильно сделать отступ в коде, чтобы сделать его более читаемым.

2. Спасибо. Я прошу прощения. Делаю это сейчас…

3. Кроме того, обязательно ознакомьтесь с этими полезными инструментами: yamllint.com который проверит ваш код YAML и codebeautify.org/yaml-to-json-xml-csv что позволит вам преобразовать YAML в, т.е. JSON, чтобы убедиться, что он имеет правильный вывод

4. Чего вы хотите достичь? Попробуйте объяснить немного подробнее. Не могли бы вы написать версию JSON того, чего вы хотите достичь, или, может быть, версию псевдокода?

5. Возможно, я немного неосведомлен в этом вопросе. Я просто хочу иметь возможность создавать ключи, которые не являются последовательностями, строками или форматированными строками, а являются фактическими наборами. Я создаю своего рода игрушечный проект, который объединяет текст резюме, выбирая помеченный контент.

Ответ №1:

Набор не является базовым сложным типом YAML. Это только скаляры, сопоставления и последовательности. Для набора, который вам действительно нужен? чтобы указать ключ, чтобы вы могли не указывать значение null ( : null или по-старому : ~ ).

Чего вы не можете сделать, так это объединить элементы набора в один ключ, и это, опять же, делается с помощью a ? , чтобы сделать начало ключа явным:

 ? 
  ? thing1
  ? thing2
  ? thing3
: value   
  

Если вы подтвердите это, вы заметите, что yamllint.com превратит это в менее читаемый, но эквивалентный:

 --- 
? 
  thing1: ~
  thing2: ~
  thing3: ~
: value