[解決済み] YAML の << (左二重矢印) 構文は何と呼ばれていて、どこで仕様化されていますか?
2023-03-20 21:55:42
質問
質問
<<:
演算子は、あるマッピングの内容を別のマッピングにインポートするために使われます。
**
演算子や、Pythonの
...
オブジェクトの再構築演算子です。例えば
foo:
a: b
<<:
c: d
e: f
は
foo:
a: b
c: d
e: f
と共に使用すると便利です。 ノード・アンカー と共に使用すると、多くのオブジェクトに共通のデフォルトプロパティを含めることができ、例えば、以下のようになります。 YAML を Y 分で学ぶ チュートリアルで説明されています。
# Anchors can be used to duplicate/inherit properties base: &base name: Everyone has same name foo: &foo <<: *base age: 10 bar: &bar <<: *base age: 20
しかし、この構文がどこから来ているのか、なぜ機能するのか、混乱しています。
CTRL
+
F
を入力します。
YAML仕様
のための
<<
は、それが仕様のどこにも表示されていないことを明らかにします。しかし、少なくとも、サポートされている
PyYAML
と
http://yaml-online-parser.appspot.com/
.
この構文は何でしょうか。また、なぜこの構文は仕様書に記載されていないのでしょうか。
どのように解決するのですか?
YAMLバージョン1.1のMerge Key Language-Independent Typeと呼ばれるもので、仕様は以下の通りです。 はこちら
これはパーサーがオプションでサポートできるもので、基本的にはキーと値のペアを解釈するものです。
<<
ここで、値はマッピング (通常は仕様のようにエイリアスを介して示され、それは必須ではなさそうですが、エイリアスを使用しないことはほとんど意味がありません) またはマッピングのリスト (すなわちマッピングのエイリアス) であり、特別な方法で解釈されるようになります。
関連
-
[解決済み] 期待されるブロックエンドのYAMLエラー
-
[解決済み] このコンテキストでは、YAMLマッピング値は許可されていません。
-
[解決済み] YAMLとJSONの違いは何ですか?
-
[解決済み] YAMLファイルを別のファイルの中にインクルードするには?
-
[解決済み] Kubernetesで1つのyamlファイルに複数のコマンドを設定する方法とは?
-
[解決済み] YAML の標準的な命名規則とは?
-
[解決済み] YAMLにおける空の辞書のための構文
-
[解決済み] GitLab CI用のマルチラインYAML文字列(.gitlab-ci.yml)
-
[解決済み] YAMLでコードブロックを再利用する
-
[解決済み] Python で YAML ファイルをパースして、データにアクセスする?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 期待されるブロックエンドのYAMLエラー
-
[解決済み] このコンテキストでは、YAMLマッピング値は許可されていません。
-
[解決済み] YAMLファイルを別のファイルの中にインクルードするには?
-
[解決済み] Kubernetesで1つのyamlファイルに複数のコマンドを設定する方法とは?
-
[解決済み] YAML 複数行の配列
-
[解決済み] YAMLにおける空の辞書のための構文
-
[解決済み] GitLab CI用のマルチラインYAML文字列(.gitlab-ci.yml)
-
[解決済み] Swagger仕様のJSONをHTMLドキュメントに変換する
-
[解決済み] docker-compose 同じイメージに複数のインスタンスを作成する
-
[解決済み] YAMLでコードブロックを再利用する