Как вы блокируете комментарии в YAML?

Здесь есть несколько вопросов, поэтому полезно указать некоторые детали более подробно с примерами, особенно для новичков.

Как указано MRAB в его правильном ответе, выражение всегда оценивается без какого-либо контекста , поэтому

 0.12345678901234567890

является плавающим литералом по умолчанию (одиночный), независимо от того, где он появляется. То же самое относится к числам с плавающей запятой в экспоненциальной форме

 0.12345678901234567890E0

, это также номер точности по умолчанию.

Если вы хотите использовать постоянную с двойной точностью, можно использовать D вместо E в приведенной выше форме. Даже если такой константе двойной точности присваивается переменная точности по умолчанию, она сначала рассматривается как число двойной точности, а затем преобразуется в стандартную точность.

Способ, которым вы пользуетесь в своем вопросе (используя видная нотация и несколько констант вида) более общий и более современный, но принцип один и тот же.

 0.12345678901234567890_sp

является рядом видов sp и

 0.12345678901234567890_dp

является номером вида dp, и не имеет значения, где они появляются.

Как показывает ваш пример, речь идет не только о назначении. В строке

 c = DBLE(0.12345678901234567890)

сначала число 0.12345678901234567890 является значением по умолчанию. Затем он преобразуется в двойную точность DBLE, но это делается после того, как некоторые из цифр уже потеряны. Затем этому новому номеру двойной точности присваивается значение c.

1205
задан Peter Mortensen 13 October 2018 в 14:44
поделиться

2 ответа

YAML поддерживает встроенные комментарии, но не поддерживает блочные комментарии.

Из Википедии :

Комментарии начинаются со знака числа ( # ), могут начинаться в любом месте строки и продолжаться до конца строки

A сравнение с JSON, также из Wikipedia :

Синтаксические различия незначительны и редко возникают на практике: JSON допускает расширенные наборы символов, такие как UTF-32, YAML требует пробела после разделителей, таких как запятая, равно и двоеточие в то время как JSON этого не делает, а некоторые нестандартные реализации JSON расширяют грамматику, включая комментарии Javascript / * ... * / . Обработка таких крайних случаев может потребовать легкой предварительной обработки JSON перед синтаксическим анализом как встроенного YAML.

# If you want to write
# a block-commented Haiku
# you'll need three pound signs
1900
ответ дан 19 December 2019 в 20:14
поделиться

В spec описан только один способ маркировки комментариев:

Явный комментарий помечается индикатором "#".

И это все. Блочных комментариев не существует.

202
ответ дан 19 December 2019 в 20:14
поделиться
Другие вопросы по тегам:

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