aboutsummaryrefslogtreecommitdiffhomepage
path: root/services/nuldoc/content/posts/2025-01-26
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2025-11-27 05:05:04 +0900
committernsfisis <nsfisis@gmail.com>2025-11-27 06:07:46 +0900
commitc754d24b162ecd504f3c4bdd8632045dd0398768 (patch)
tree362323710bb329ad609d379df4e4a429e4229fd2 /services/nuldoc/content/posts/2025-01-26
parentd1014de68415df8f0a5dc3389332e086119c6198 (diff)
downloadnsfisis.dev-c754d24b162ecd504f3c4bdd8632045dd0398768.tar.gz
nsfisis.dev-c754d24b162ecd504f3c4bdd8632045dd0398768.tar.zst
nsfisis.dev-c754d24b162ecd504f3c4bdd8632045dd0398768.zip
feat(nuldoc): Djot to Markdown
Diffstat (limited to 'services/nuldoc/content/posts/2025-01-26')
-rw-r--r--services/nuldoc/content/posts/2025-01-26/yaml-breaking-changes-between-v1-1-and-v1-2.md (renamed from services/nuldoc/content/posts/2025-01-26/yaml-breaking-changes-between-v1-1-and-v1-2.dj)25
1 files changed, 9 insertions, 16 deletions
diff --git a/services/nuldoc/content/posts/2025-01-26/yaml-breaking-changes-between-v1-1-and-v1-2.dj b/services/nuldoc/content/posts/2025-01-26/yaml-breaking-changes-between-v1-1-and-v1-2.md
index 44e8a4f..531a99e 100644
--- a/services/nuldoc/content/posts/2025-01-26/yaml-breaking-changes-between-v1-1-and-v1-2.dj
+++ b/services/nuldoc/content/posts/2025-01-26/yaml-breaking-changes-between-v1-1-and-v1-2.md
@@ -16,12 +16,11 @@ isInternal = true
date = "2025-01-26"
remark = "ブログ記事として一般公開"
---
-::: note
+:::note
この記事は、2021-06-30 に [デジタルサーカス株式会社](https://www.dgcircus.com/) の社内 Qiita Team に公開された記事をベースに、加筆修正して一般公開したものです。
:::
-{#intro}
-# はじめに
+# はじめに {#intro}
データ記述言語の一つ YAML には 1.0、1.1、1.2 のバージョンがある。
これらのうち、1.1 と 1.2 の間には無視できない非互換の変更が多く、1.2 に対応していないライブラリもある (Ruby 同梱の `yaml` など)。
@@ -29,25 +28,21 @@ remark = "ブログ記事として一般公開"
参照した仕様書はこちら: https://yaml.org/spec/1.2.2/ext/changes/
-{#breaking-changes}
-# 主な破壊的変更
+# 主な破壊的変更 {#breaking-changes}
-{#boolean-literals}
-### Boolean としてパースされるトークンが `true` / `false` とその亜種のみに
+### Boolean としてパースされるトークンが `true` / `false` とその亜種のみに {#boolean-literals}
この変更の影響が最も大きいと思われる。
YAML 1.1 では、boolean 値のリテラルとして `true`、`false` のほか `yes`、`no`、`y`、`n`、`on`、`off`、それらの大文字バージョンなどが認められていた。
YAML 1.2 では、`true` と `false`、それらの大文字バージョン (`True`、`TRUE`、`False`、`FALSE`) のみが boolean としてパースされるようになった。
-{#octal-literals}
-### 八進数リテラルには `0o` が必須に
+### 八進数リテラルには `0o` が必須に {#octal-literals}
C 言語などでは、`0` から始まる数字の列を八進数としてパースする。
YAML 1.1 もこれに準じていたが、1.2 からは `0o` のプレフィクスが必須となった ("o" は "octal" の "o")。
プログラミング言語では、Python や Haskell、Swift、Rust などがこの記法を採用している。
-{#merging}
-### `&lt;&lt;` によるマージが不可能に
+### `&lt;&lt;` によるマージが不可能に {#merging}
YAML 1.1 では、`&lt;&lt;` という文字列をキーに指定することで、マップをマージすることができた。
@@ -64,13 +59,11 @@ y:
1.2 からはこれができなくなる。
-{#number-separator}
-### 数字を `_` で区切るのが禁止に
+### 数字を `_` で区切るのが禁止に {#number-separator}
`1234567` を `1_234_567` と書けなくなった。
-{#outro}
-# おわりに
+# おわりに {#outro}
-全体的に、_There's more than one way to do it._ から _There should be one - and preferably only one - obvious way to do it._ へ移行しているように思われる。
+全体的に、*There's more than one way to do it.* から *There should be one - and preferably only one - obvious way to do it.* へ移行しているように思われる。
データ記述言語としては望ましい方向性ではないかと感じる。