Здесь есть несколько вопросов, поэтому полезно указать некоторые детали более подробно с примерами, особенно для новичков.
Как указано MRAB в его правильном ответе, выражение всегда оценивается без какого-либо контекста , поэтому
0.12345678901234567890
является плавающим литералом по умолчанию (одиночный), независимо от того, где он появляется. То же самое относится к числам с плавающей запятой в экспоненциальной форме
0.12345678901234567890E0
, это также номер точности по умолчанию.
Если вы хотите использовать постоянную с двойной точностью, можно использовать D
вместо E
в приведенной выше форме. Даже если такой константе двойной точности присваивается переменная точности по умолчанию, она сначала рассматривается как число двойной точности, а затем преобразуется в стандартную точность.
Способ, которым вы пользуетесь в своем вопросе (используя видная нотация и несколько констант вида) более общий и более современный, но принцип один и тот же.
0.12345678901234567890_sp
является рядом видов sp
и
0.12345678901234567890_dp
является номером вида dp
, и не имеет значения, где они появляются.
Как показывает ваш пример, речь идет не только о назначении. В строке
c = DBLE(0.12345678901234567890)
сначала число 0.12345678901234567890
является значением по умолчанию. Затем он преобразуется в двойную точность DBLE
, но это делается после того, как некоторые из цифр уже потеряны. Затем этому новому номеру двойной точности присваивается значение c
.
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
В spec описан только один способ маркировки комментариев:
Явный комментарий помечается индикатором "#".
И это все. Блочных комментариев не существует.