フィルター:default、join、upper
テンプレート内で値を変換します。
「フィルター:default、join、upper」はCoddyKit上の無料DevOps Bootcampレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDevOps Bootcamp学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 DevOps Bootcampコースには全4レッスンが含まれています。
filterの役割
filterは、値を出力する前に変換します。パイプを使って適用し、小さなパイプラインのように左から右へ読み取ります。🧰
{{ name | upper }}upperフィルター
upperフィルターは文字列をすべて大文字に変換し、lowerはその逆を行います。テキストの正規化に便利です。
{{ region | upper }}
{{ region | lower }}defaultフィルター
defaultを使うと、変数が未定義の場合に代替値を指定できます。そのため、値がなくてもレンダリングが失敗しません。
listen {{ http_port | default(80) }};空の値に対するdefault
2番目の引数としてtrueを渡すと、未定義の値だけでなく空文字列も置き換えられます。より厳密なフォールバックです。
{{ user | default('admin', true) }}joinフィルター
joinを使うと、項目間の区切り文字を選んでリストを1つの文字列に変換できます。カンマ区切りの設定値に最適です。
allowed = {{ ips | join(', ') }}フィルターを連結する
複数のフィルターをパイプで続けて適用します。それぞれの結果が次のフィルターに渡されます。ここでは、1つの式でリストを連結してから小文字に変換しています。
{{ tags | join(',') | lower }}lengthとカウント
lengthフィルターは、リストの項目数や文字列の文字数を数えます。プールのサイズ設定やループに便利です。
workers = {{ servers | length }}trimとreplace
trimで前後の空白を削除してテキストを整えたり、replaceで部分文字列を別の文字列に置き換えたりできます。
{{ path | replace('//', '/') }}数値用のフィルター
数値用のフィルターも便利です。intとfloatは型を変換し、roundは小数を指定した桁数に丸めます。
{{ ('8' | int) * 1024 }}Ansible固有のフィルター
Ansibleには、データ構造をファイルにきれいに出力するためのto_jsonやto_nice_yamlなど、独自のフィルターも用意されています。
{{ config | to_nice_yaml }}フィルターは左から右に読む
連結の順序は重要です。値は各filterを順番に通過するため、必要な順序で変換を配置してください。
クイックチェック
変数が未定義になる可能性があり、安全な代替値を指定したいとします。どのフィルターが対応しますか。
まとめ
フィルターについて学びました。フォールバックにはdefault、リストにはjoin、テキストにはupperを使い、lengthやフィルターの連結も利用できます。パイプによって値をきれいに変換できます。✨
よくある質問
「フィルター:default、join、upper」レッスンは無料ですか?
はい。「フィルター:default、join、upper」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、DevOps Bootcampコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 DevOps Bootcampコースには全4レッスンが含まれています。
「フィルター:default、join、upper」で何を学びますか?
テンプレート内で値を変換します。 ブラウザで直接実行するハンズオンコードでDevOps Bootcampを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
DevOps Bootcampを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのDevOps Bootcampは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。
「フィルター:default、join、upper」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このDevOps Bootcampレッスンでコードを書いて実行できますか?
はい。すべてのDevOps Bootcampレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- template Module と .j2 ファイル
- Jinja2 の変数と式
- テンプレート内のループと if ブロック
- フィルター:default、join、upper