Ошибка при разборе блока текста YAML - PullRequest
2 голосов
/ 18 мая 2011

Я новичок в YAML и пытался создать блок YAML, но получаю следующую ошибку:

при сканировании сопоставления блоков: ожидается, но найдено: # (строка 8, столбец 1)

Хотя он работает без |, я хочу сохранить пробелы.

Файл YAML (Home.yml):

---
section:
    title: About this site
    content:    |
        This is a test of a test test test test
        A very very good test 
        A test of test test 
section:
    title: Source code
    content: |
        Licens:: BSD
        Link:: Here
        Foo 
...

код рубина:

home = YAML.load_file('data/Home.yml')
home.inspect

1 Ответ

1 голос
/ 18 мая 2011

Какой парсер YAML вы используете? Парсер Ruby 1.8.7 и парсер в 1.9 анализируют YAML в вашем вопросе.

Там все еще проблемы, до конца. Синтаксис, который вы дали для хэша, подобного этому:

{
  'section' => {
    'title' => "About this site",
    'content => ...
  }
  'section' => {
    'title' => 'Source code',
    'content' => ...
  }
}

Однако нельзя иметь два одинаковых хеш-ключа. Что происходит, так это то, что последний выигрывает. Возможно, вы ищете массив хэшей. Для этого используйте синтаксис YAML:

---
-
  section:
    title: About this site
    content: |
        This is a test of a test test test test
        A very very good test
        A test of test test
-
  section:
    title: Source code
    content: |
        Licens:: BSD
        Link:: Here
        Foo
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...