yaml使用
yamlの概要
最近コードを見ると、大きなプロジェクトではプロファイルを単独で使用したり、変数の宣言や構成をしたりしていると思いますが、yamlファイルとして保存されていることが多いと思います.yamlは非常に柔軟なフォーマットで、ほとんどjsonのスーパーセットです.コメント、改行区切り、複数行文字列、裸文字列、およびより柔軟なタイプのシステムをサポートするほか、YAMLはコードの重複を回避するために参照ファイルをサポートします.
yaml構文規則
基本ルール:大文字小文字が敏感 階層関係を引き締めて表す.たとえばkey:(スペース)valueは、キー値のペアを表し、スペースは省略できません. インデント時にTabキーは使用不可、スペースのみ使用可能 縮まったスペース樹木は重要ではなく、同じ階層の要素が左側に揃えばよい #コメントを表し、この文字から行末まで解析器に無視される yamlのデータ構造対象:キー値ペアの集合、マッピング(mapping)、ハッシュ(hashes)、辞書(dictionary) 配列:一組の順に並べられた値をシーケンス(sequence)、リスト(list) スカラー(scalars):単一の再分割不可の値 オブジェクト
オブジェクトの場合、フォーマットは次のとおりです:Map(属性と値)(キー値のペア)の形式
key:(スペース)valueはキー値ペアを表し、スペースは省略できません.例えば次の
1行の書き方:person:{name:vivi,age:18}読み込んだ後、json形式に相当します.
はいれつ
連語線の先頭の行のセットで、配列を構成します.配列の前に「-」記号が付けられ、記号と値の間にスペースで区切られます.
color: red blue green一行表記:color:[red,blue,green]相当JSON: [“red”,“blue”,“green”]
じゅんりょう
単一の、再分割できない値.(文字列、bool値、整数、浮動小数点数、時間、日付、nullなど)
n1: 8 n2: 8.8 n3: true n4: false n5: ‘vivi’
特殊記号
null使用~表示例:parent:~表示:
YAMLでは、2つの感嘆符を使用して、データ型を強制的に変換できます.例えば:e:!!str 123 f: !!str trueは、次のように表される.
アンカー&と別名*で、参照できます.
次のコードに等しい
&アンカーポイント(defaults)<たとえば: &showell Steve Clark Brian Oren *showell表示
yamlプロファイル読み込み
参照先:http://www.ruanyifeng.com/blog/2016/07/yaml.html
最近コードを見ると、大きなプロジェクトではプロファイルを単独で使用したり、変数の宣言や構成をしたりしていると思いますが、yamlファイルとして保存されていることが多いと思います.yamlは非常に柔軟なフォーマットで、ほとんどjsonのスーパーセットです.コメント、改行区切り、複数行文字列、裸文字列、およびより柔軟なタイプのシステムをサポートするほか、YAMLはコードの重複を回避するために参照ファイルをサポートします.
yaml構文規則
基本ルール:
オブジェクトの場合、フォーマットは次のとおりです:Map(属性と値)(キー値のペア)の形式
key:(スペース)valueはキー値ペアを表し、スペースは省略できません.例えば次の
person:
name: vivi
age: 18
1行の書き方:person:{name:vivi,age:18}読み込んだ後、json形式に相当します.
{
"name":"vivi","age":18}
はいれつ
連語線の先頭の行のセットで、配列を構成します.配列の前に「-」記号が付けられ、記号と値の間にスペースで区切られます.
color:
じゅんりょう
単一の、再分割できない値.(文字列、bool値、整数、浮動小数点数、時間、日付、nullなど)
n1: 8 n2: 8.8 n3: true n4: false n5: ‘vivi’
特殊記号
null使用~表示例:parent:~表示:
{
parent: null }
YAMLでは、2つの感嘆符を使用して、データ型を強制的に変換できます.例えば:e:!!str 123 f: !!str trueは、次のように表される.
{
e: '123', f: 'true' }
アンカー&と別名*で、参照できます.
defaults: &defaults
adapter: postgres
host: localhost
development:
database: myapp_development
<<: *defaults
test:
database: myapp_test
<<: *defaults
次のコードに等しい
defaults:
adapter: postgres
host: localhost
development:
database: myapp_development
adapter: postgres
host: localhost
test:
database: myapp_test
adapter: postgres
host: localhost
&アンカーポイント(defaults)<たとえば:
[ 'Steve', 'Clark', 'Brian', 'Oren', 'Steve' ]
yamlプロファイル読み込み
参照先:http://www.ruanyifeng.com/blog/2016/07/yaml.html