Ответ 1
После краткого обзора кулинарной книги YAML, приведенной в вопросе и некоторых тестах, здесь моя интерпретация:
- В общем, вам не нужны кавычки.
- Использовать кавычки для принудительной строки, например. если ваш ключ или значение
10
, но вы хотите, чтобы он возвращал строку, а не Fixnum, напишите'10'
или"10"
. - Используйте кавычки, если ваше значение включает специальные символы (например,
:
,{
,}
,[
,]
,,
,&
,*
,#
,?
,|
,-
,<
,>
,=
,!
,%
,@
,\
). - Одиночные кавычки позволяют помещать почти любой символ в вашу строку и не будут пытаться анализировать escape-коды.
'\n'
будет возвращен как строка\n
. - Двойные кавычки управляют паролями.
"\n"
будет возвращен как символ строки. - Восклицательный знак вводит метод, например.
!ruby/sym
, чтобы вернуть символ Ruby.
Мне кажется, что наилучшим подходом было бы не использовать кавычки, если только вам это нужно, а затем использовать одинарные кавычки, если вы специально не хотите обрабатывать escape-коды.
Обновить
"Да" и "Нет" должны быть заключены в кавычки (одиночные или двойные), иначе они будут интерпретироваться как значения TrueClass и FalseClass:
en:
yesno:
'yes': 'Yes'
'no': 'No'