Амперсанд в начале записи YAML обычно рассматривается как маркировка для ряда данных, на которые можно сослаться позже. Как Вы выходите из законного амперсанда в начале записи YAML. Например:
---
- новости:
news_text: “ текст! ’
Я надеюсь не иметь &ldquo быть маркировкой в yaml файле, а скорее когда я добираюсь, анализируют файл YAML, чтобы иметь news_text, возвращенный с “ в записи.
Просто поставьте кавычки вокруг текста
require 'yaml'
data = <<END
---
- news:
news_text: "“Text!’"
END
puts YAML::load(data).inspect
# produces => [{"news"=>{"news_text"=>"“Text!’"}}]
Помещение всей строки в одинарные кавычки сделает то, что вы хотите:
---
- news:
news_text: '“Text!’'
Но, я думаю, что любая библиотека yaml должна быть достаточно умной, чтобы сделать это за вас?
.Вы, вероятно, можете заключить текст в кавычки:
---
- news:
news_text: "“Text!’"
Кроме того, вы, вероятно, также можете использовать там правильные символы:
---
- news:
news_text: “Text!’
Кажется, что вставка escape-символов, специфичных для совершенно другого языка разметки, в документ, написанный на другом языке разметки, ... как-то странно для меня.