diff options
| author | haru <haru@haru52.com> | 2024-01-30 19:34:42 +0900 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-01-30 11:34:42 +0100 | 
| commit | b096e937ad37c73f8cb793eaea8053c76b03ae3e (patch) | |
| tree | a1079327793700818826a69531b495eca2fc57a0 | |
| parent | 38aa906022884904ed0379be1a6152e3caf62596 (diff) | |
Add yaml-jp.html.markdown (#4330)
| -rw-r--r-- | ja-jp/yaml-jp.html.markdown | 193 | 
1 files changed, 193 insertions, 0 deletions
| diff --git a/ja-jp/yaml-jp.html.markdown b/ja-jp/yaml-jp.html.markdown new file mode 100644 index 00000000..28a5d870 --- /dev/null +++ b/ja-jp/yaml-jp.html.markdown @@ -0,0 +1,193 @@ +--- +language: yaml +filename: learnyaml-jp.yaml +contributors: +- [Leigh Brenecki, 'https://leigh.net.au'] +- [Suhas SG, 'https://github.com/jargnar'] +translators: +- [haru, 'https://haru52.com/'] +lang: ja-jp +--- + +YAMLはデータのシリアライズ用言語で、 +人間が直接読み書きしやすいようにデザインされています。 + +YAMLはJSONの厳格なスーパーセットで、 +改行とインデントが構文的に意味を持つというPythonに似た仕様を追加しています。 +しかしPythonとは異なりYAMLではインデントにタブ文字を使うことはできません。 + +```yaml +---  # ドキュメント開始 + +# YAMLのコメントはこんな感じです。 + +############## +# スカラー型 # +############## + +# (ドキュメント全体を含む)ルートオブジェクトはマップになります。 +# これは他言語における辞書型、ハッシュ、オブジェクトなどと等価です。 +キー: 値 +別のキー: 別の値。 +数値: 100 +指数表記: 1e+12 +# 1 はbooleanでなく数値として解釈されます。 +# もしbooleanとして解釈してほしい場合はtrueを使います +boolean: true +null値: null +スペースを 含む キー: 値 +# 文字列をクォートで囲う必要がないことに注意してください。 +# しかし囲うこともできます。 +しかし: 'クォートで囲まれた文字列。' +'キーもクォートで囲えます。': "keyの中で ':' を使いたいときに有用です。" +シングルクォート: 'には ''1つの'' エスケープパターンがあります' +ダブルクォート: "には多くのエスケープパターンがあります:\", \0, \t, \u263A, +\x0d\x0a == \r\n, など、他にもあります。" +# UTF-8/16/32文字はエンコードされている必要があります +上付き2: \u00B2 + +# 複数行の文字列は(| を使う)「リテラルブロック」、 +# または、('>' を使う)「折り畳みブロック」として書くことができます +リテラルブロック: | +    この文章のブロック全体が「リテラルブロック」キーの値になり、 +    改行は保持されます。 + +    リテラルはインデントを解除するまで続き、先頭行のインデント文字数分を +    各行のテキストの先頭から取り除きます。 + +        「よりインデントの深い」行はその分のインデントを保持します - +        この2行はスペース4個分インデントされます。 +折り畳みスタイル: > +    この文章のブロック全体が「折り畳みスタイル」の値になります。 +    しかしこちらの場合、全ての改行がスペース1個に置き換わります。 + +    直前のような空行は改行文字に変換されます。 + +        「よりインデントの深い」行も改行を保持します - +        このテキストは2行にわたって表示されます。 + +################## +# コレクション型 # +################## + +# 入れ子を表現するにはインデントを使います。 +# スペース2個のインデントが好まれます(が必須ではありません)。 +入れ子のマップ: +  キー: 値 +  別のキー: 別の値 +  別の入れ子のマップ: +    こんにちは: こんにちは + +# マップのキーは文字列である必要はありません。 +0.25: 小数のキー + +# 複数行オブジェクトのような複雑なキーも使用可能です。 +# ? の後にスペースを入れることで複雑なキーの開始を宣言できます。 +? | +  これはキーです +  複数行あります +: そしてこれがその値です + +# YAMLではシーケンスを複雑なキー構文で使うこともできます +# しかし、言語パーサーによってはエラーになるかもしれません +# 例 +? - マンチェスター・ユナイテッド +  - レアル・マドリード +: [2001-01-01, 2002-02-02] + +# シーケンス(リストや配列と等価)はこんな感じです +# ('-' はインデントとしてカウントしてください): +シーケンス: +  - アイテム1 +  - アイテム2 +  - 0.5  # シーケンスには異なる型の値を混在させられます +  - アイテム4 +  - キー: 値 +    別のキー: 別の値 +  - +    - これはシーケンスです +    - 別のシーケンス内部 +  - - - 入れ子のシーケンス表記は +      - 折り畳めます + +# YAMLはJSONのスーパーセットなので、 +# JSON形式のマップとシーケンスを書くこともできます: +jsonマップ: {"キー": "値"} +jsonシーケンス: [3, 2, 1, "発進"] +クォートは任意: {キー: [3, 2, 1, 発進]} + +###################### +# その他のYAMLの機能 # +###################### + +# YAMLには「アンカー」と呼ばれる便利な機能もあります。これによりコンテンツを +# ドキュメント内で簡単に複製できます。これらのキーはどちらも同じ値を持ちます: +アンカーされたコンテンツ: &anchor_name この文字列は2つのキーの値になります。 +他のアンカー: *anchor_name + +# アンカーは複製/継承プロパティとして使えます +ベース: &base +  名前: みんな同じ名前を持ちます + +# 記号 << はマージキー言語非依存型(Merge Key Language-Independent Type) +# と呼ばれます。これは指定された1つ以上のマップの全てのキーを現在のマップに +# 挿入することを示すために使われます。 + +foo: +  <<: *base +  年齢: 10 + +bar: +  <<: *base +  年齢: 20 + +# fooとbarも「名前: みんな同じ名前を持ちます」を持ちます + +# YAMLにはタグもあり、明示的に型を宣言できます。 +明示的な文字列: !!str 0.5 +# 言語特有のタグを実装したパーサーもあり、例えばPythonの複素数型が使えます。 +pythonの複素数型: !!python/complex 1+2j + +# YAMLの複雑なキーでは言語特有のタグも使えます +? !!python/tuple [5, 7] +: 五十七 +# Python上で {(5, 7): '五十七'} として扱われます + +#################### +# その他のYAMLの型 # +#################### + +# 文字列と数値がYAMLの理解できる唯一のスカラーではありません。 +# ISO形式の日付や日時リテラルもパースされます。 +日時: 2001-12-15T02:59:43.1Z +スペースを含む日時: 2001-12-14 21:59:43.10 -5 +日付: 2002-12-14 + +# !!binaryタグは文字列の実体がバイナリblobのbase64エンコード表現であることを +# 示します。 +gifファイル: !!binary | +  R0lGODlhDAAMAIQAAP//9/X17unp5WZmZgAAAOfn515eXvPz7Y6OjuDg4J+fn5 +  OTk6enp56enmlpaWNjY6Ojo4SEhP/++f/++f/++f/++f/++f/++f/++f/++f/+ +  +f/++f/++f/++f/++f/++SH+Dk1hZGUgd2l0aCBHSU1QACwAAAAADAAMAAAFLC +  AgjoEwnuNAFOhpEMTRiggcz4BNJHrv/zCFcLiwMWYNG84BwwEeECcgggoBADs= + +# YAMLにはセット型もあり、それはこんな感じです: +セット: +  ? アイテム1 +  ? アイテム2 +  ? アイテム3 +または: {アイテム1, アイテム2, アイテム3} + +# セットは値がnullのただのマップで、直前のセットは以下と等価です: +セット2: +  アイテム1: null +  アイテム2: null +  アイテム3: null + +...  # ドキュメント終了 +``` + +### 補足資料 + ++ [YAML公式ウェブサイト](https://yaml.org/) ++ [オンラインYAMLバリデーター](http://www.yamllint.com/) | 
