【Rust】Teraの基本的な構文
投稿日: 更新日:
構成要素
テンプレートの構成要素は以下の3つです。記号を変更することは出来ません。
{{...}}
は式{%...%}
は文{#...#}
はコメント
空白制御
ハイフン-
を使って前後の空白を制御します。
{%- ...%}
だと前の空白を除去、{%.. -%}
だと後ろの空白を除去します。また、両方設定することもでき{%- ... -%
で前後の空白を除去できます。
変数
変数はset
を使って宣言します。
{% set var1 = "hello" %}
{% set var2 = 123 %}
変数の内容は{{ var1 }}
などと書くと出力できます。
特別な変数__tera_context
が用意されており、コンテキストの内容全てを出力します。
条件分岐if
if
で条件分岐できます。elif
、else
もあります。最後はendif
で終わります。
{% if num > 0 %}
positive number
{% elif num < 0 %}
negative number
{% else %}
zero
{% endif %}
変数が定義されてるかどうかも判定できます。
{% if num %}
{{ num }}
{% else %}
isn't defined
{% endif %}
繰り返しfor
for
で配列の中身をループさせることができます。endfor
で終わりを示します。
{% set array = [10, 20, 30, 40] %}
{% for i in array %}
{{ i }}
{% endfor %}
for
に関して特別な変数が用意されています。
loop.index
1-indexedで現在のインデックを示すloop.index0
0-indexedで現在のインデックを示すloop.first
最初の要素かどうかloop.last
最後の要素かどうか
else
を用いることで配列に要素がない場合、別の処理を行うことができます。
{% set array = [] %}
{% for i in array %}
{{ i }}
{% else %}
No nums
{% endfor %}