2024/2/16記事内に広告が含まれていることがあります。Railsでデータベースの情報が記載されている重要なファイルにdatabase.ymlがあります。その中には次のような記述があります。*default」という記述があります。ここではそれぞれの記述が何をしているかについて解説してます。ここではdatabase.ymlを例として取り上げていますが、全ての拡張子「.yml」または「.yaml」のファイルに共通する書き方なので、他のファイルでも応用できます。*default」が何をしているか結論からいうと、「&default」はそれ以降の記述を「default」というエイリアスに代入しています。いわゆる変数への代入のようなものです。*default」はその内容を呼び出しています。test-app_developmentが代入されます。*default」の部分にその内容を呼び出しています。上記は以下と同じになります。test-app_production「&」「*」「<<」の概要.ymlファイルでは「&」で任意の名前を指定して、その後ろに値を記述することで、指定した名前の中に値を代入することができます。いわゆる変数のようなものです。この名前を「エイリアス」と呼びます。「エイリアス」とは日本語で「別名」という意味です。そのエイリアスの内容を「*」で呼び出すことができます。「<<」はその応用で、エイリアスをオブジェクトの中でマージするために使います。以下では、基本となる「&」と「*」の使い方と、応用となる「<<」の使い方を実例で解説しています。「&」と「*」とは何か?ヤムル(.ymlや.yaml)では「&(アンド/アンパサンド)」を使って名前を付け、「*(アスタリスク)」でアンカー名を指定して対象の値を呼び出すことができます。「&」指定した名前の目印をつけるため「アンカー」(またはアンカリング)とよび、つけた名前を「エイリアス」と呼びます。エイリアスとは「別名」という意味です。「&」を使うときは、「&」の後ろに空白を開けずに、エイリアス名を記載します。その後ろに空白を空けて値を記述します。値これで、値が指定したエイリアスの中に入ります。このエイリアスが変数的な働きになります。オブジェクトの中の値を指定する場合オブジェクトの中の値をエイリアスに代入したい場合は以下のようにします。配列やオブジェクト自体にエイリアスをつけることはできません。以下はエラーとなります。「*」を使うときは、「*」の後ろに空白を開けずに、呼び出したいエイリアス(変数名)を記載します。*エイリアスすると、「&」で指定したエイリアスに対応する値を呼び出すことができます。「*」を使って値をマージすることはできません。*」を使う必要があります。(詳細は後述)実例:単一データの場合エイリアス「ankor」に1を代入して、「*ankor」で呼び出す場合は以下のようになります。1」を代入して、「*x」で呼び出す場合は以下のようになります。]実例:オブジェクトの値として呼び出す場合エイリアス「x」に「1」を代入して、プロパティ名「b」の値の一つとして呼び出す場合は以下のようになります。}実例:オブジェクトの中の複数データを代入する場合オブジェクトの中の複数データをエイリアスに代入する場合は、プロパティ名の後ろに「&エイリアス」を記述して、その下に改行して値を記述します。2]を代入して、プロパティ名「b」の値として呼び出す場合は以下のようになります。}エラー例:配列自体を代入することはできない配列そのものをエイリアスに代入することはできません。parse.(解析できません)」というエラーが発生します。エラー例:オブジェクト自体を代入することはできないオブジェクトそのものをエイリアスに代入することはできません。parse.(解析できません)」というエラーが発生します。「*」でマージすることはできない「*」ではオブジェクトの値の中に別の要素をマージすることはできません。d:2」を代入して、プロパティ名「b」の値として呼び出すことができます。3」をbの中の要素として呼び出そうとするとエラーが発生します。parse.(解析できません)」というエラーが発生します。上記のようにオブジェクトの値をマージさせたい場合は「<<」を使う必要があります。「<<」とは何か?「<<」はオブジェクトの中に値をマージするための記述です。オブジェクトの値の中に注入するので、「インジェクト」と呼ばれます。「<<」は「&」と「*」と合わせて使います。オブジェクトをマージする以下のようにあるオブジェクトの中に、オブジェクト形式の複数の値が入っている場合に、その値をエイリアスとして設定する場合は「&」を使います。*エイリアス」を記述します。*エイリアス」で指定した場所に入ります。配列をマージする以下のようにあるオブジェクトの中に、配列形式の複数の値が入っている場合に、その値をエイリアスとして設定する場合は「&」を使います。*エイリアス」を使うことで、他のオブジェクトの中で呼び出して、他の要素とマージさせることができます。*エイリアス」で指定した場所に入ります。その際、配列の要素のプロパティ名は「0」「1」というように配列番号が入ります。他にもdatabase.ymlの中には「#」を使った記述が大量にあります。これはコメントアウトです。JSON形式ではコメントアウトはないので、JSONにコンパイルするとコメントアウトは無視されてなくなります。}database.ymlのコンパイル例database.ymlをjsonに変換するとどのように表示されるかの例です。大量のコメントアウトがなくなります。*defaultで共通部として呼び出されていることがわかります。合わせて読みたいymlには、「&」「*」「<<」以外にも独特の記述があります。詳細については下記をご参考ください。意味や使い方を実例で解説|jsonとの違いRails「役に立った」と思ったら、記事のシェアをお願いします。コピー[PR]shin関連記事Rails【Rails】resourcesにルートを追加する方法|routes.rbのmember(メンバー)とcollection(コレクション)とは?違いと使い方を徹底解説Rails【Rails】whereメソッドの使い方まとめ。'NoneType'のエラー原因と対処法まとめ(初心者向け・実例でわかりやすく解説)2024/2/272024/2/27【CSS】メディアクエリ(@media)とは何か?使い方を実例で解説|.cssファイルやlinkタグでの画面幅以上・以下の指定(初心者向け、わかりやすい)2023/6/202023/10/1【画像で解説】WinSCPの使い方。pull(プル)とは何か?使い方を実例で解説|引数が無い場合の処理内容やFETCH_HEADとは何か?--rebaseオプションの使い方2023/7/182024/2/22カテゴリーPCHTMLDesignAffiliateCSS・SCSSrubyRailsSpreadSheetAffinityAppSheetDatabaseAppsScriptEditorStripeAWSLINEPHPECWordPressServerSquareVue.jsGeneralJavaScriptSEOgit/githubBrowserDockerJSONPythonCommandLaravelNode-jsサイト運営者shinWEB制作・エクステリアデザインを行う、山と自然大好きなプログラマー&デザイナーです。コロナを機に長野の山奥に移住、標高1200mの地で薪ストーブのあるログハウスで暮らしています。妻と子供をこよなく愛する1児の父。'NoneType'のエラー原因と対処法まとめ(初心者向け・実例でわかりやすく解説)2024/2/272024/2/27【CSS】メディアクエリ(@media)とは何か?使い方を実例で解説|.cssファイルやlinkタグでの画面幅以上・以下の指定(初心者向け、わかりやすい)2023/6/202023/10/1【画像で解説】WinSCPの使い方。‘../stylesheets/application’2023/3/312023/9/11【Rails】ActiveStroageの使い方を実例で解説|複数画像やファイルのアップロードと個別に削除・変更する方法2023/9/292023/11/17【Rails】例外を発生させる方法|rescueの使い方。exists2023/8/92023/9/8【Rails】変数の中身を確認する方法を実例で解説。r.children[i]}}}}}()タイトルとURLをコピーしました。