Как указать диапазоны в YAML? - PullRequest
6 голосов
/ 26 июля 2010

Я могу выразить

3-я страница является титульной страницей

в YAML

title: 3

А как насчет следующего?

Страницы с 10 по 15 содержат главу 1

Один путь -

chapter 1: [10, 11, 12, 13, 14, 15]

Я бы предпочел диапазон здесь. Есть ли что-нибудь подобное в YAML?

chapter 1: (10..15)

** Обновление **

Следующее будет моей альтернативой, если в YAML нет такого понятия, как диапазон

chapter 1:
   start page: 10
   end page: 15

Ответы [ 3 ]

12 голосов
/ 26 июля 2010

Нет прямого способа указать диапазоны в YAML, но некоторые YAML могут хранить сериализованные объекты, например в Ruby:

...
normal range: !ruby/range 10..20 
exclusive range: !ruby/range 11...20 
negative range: !ruby/range -1..-5 
...

Смотрите здесь

4 голосов
/ 27 июля 2010

Диапазон зависит от приложения.Для некоторых приложений может быть полезным следующее:

-1 .. Q

a .. Щ

23 .. -23,45

1 ..12:01:14 (оба являются целыми числами в YAML!)

Но метод ruby ​​также неясен, так как он не говорит, включены ли конечные значения: 10 .. 15

(Вы говорите только о диапазонах целых чисел?)

1 голос
/ 06 августа 2010

Андрей прав - базового диапазона не существует.Диапазоны могут быть определены поверх полностью упорядоченных типов данных.YAML даже не знает концепции упорядочения, поэтому нет смысла говорить о диапазонах в YAML.YAML знает только концепцию типов узлов, концепцию равенства и некоторые предопределенные виды связей между узлами.Кстати, я не знаю других языков сериализации данных (JSON, XML, CSV, Hessian, Protocol Buffers ...), которые изначально поддерживают диапазоны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...