Выйти и (амперсанд) в начале записи YAML?

Амперсанд в начале записи YAML обычно рассматривается как маркировка для ряда данных, на которые можно сослаться позже. Как Вы выходите из законного амперсанда в начале записи YAML. Например:

---
- новости:
    news_text: “ текст! ’

Я надеюсь не иметь &ldquo быть маркировкой в yaml файле, а скорее когда я добираюсь, анализируют файл YAML, чтобы иметь news_text, возвращенный с “ в записи.

11
задан Marc-André Lafortune 18 February 2010 в 18:45
поделиться

3 ответа

Просто поставьте кавычки вокруг текста

require 'yaml'

data = <<END
---
- news:
    news_text: "&ldquo;Text!&rsquo;"
END

puts YAML::load(data).inspect

# produces => [{"news"=>{"news_text"=>"&ldquo;Text!&rsquo;"}}]
13
ответ дан 3 December 2019 в 07:12
поделиться

Помещение всей строки в одинарные кавычки сделает то, что вы хотите:

---
- news:
    news_text: '&ldquo;Text!&rsquo;'

Но, я думаю, что любая библиотека yaml должна быть достаточно умной, чтобы сделать это за вас?

.
0
ответ дан 3 December 2019 в 07:12
поделиться

Вы, вероятно, можете заключить текст в кавычки:

---
- news:
    news_text: "&ldquo;Text!&rsquo;"

Кроме того, вы, вероятно, также можете использовать там правильные символы:

---
- news:
    news_text: “Text!’

Кажется, что вставка escape-символов, специфичных для совершенно другого языка разметки, в документ, написанный на другом языке разметки, ... как-то странно для меня.

3
ответ дан 3 December 2019 в 07:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: