变量

变量标记(variable tag)用于创建新的 Liquid 变量。

assign

创建一个新变量。

输入


{% assign my_variable = false %}
{% if my_variable != true %}
  This statement is valid.
{% endif %}

输出

  This statement is valid.

将变量用 " 包裹之后则将其当做字符串对待。

输入


{% assign foo = "bar" %}
{{ foo }}

输出

bar

capture

capture 开始与结束标记之间的字符串捕获之后赋值给一个变量。通过 {% capture %} 创建的变量都是字符串。

输入


{% capture my_variable %}I am being captured.{% endcapture %}
{{ my_variable }}

输出

I am being captured.

使用 capture 时,你还可以利用 assign 创建的其他变量创造一个复杂的字符串。

输入


{% assign favorite_food = 'pizza' %}
{% assign age = 35 %}

{% capture about_me %}
I am {{ age }} and my favorite food is {{ favorite_food }}.
{% endcapture %}

{{ about_me }}

输出

I am 35 and my favourite food is pizza.

increment

创建一个全新的数值变量,并且在后续每次调用时将此变量的值加 1。初始值是 0。

输入


{% increment my_counter %}
{% increment my_counter %}
{% increment my_counter %}

输出

0
1
2

通过 increment 标记(tag)创建的变量与通过 assigncapture 创建的变量是相互独立的。

在下面的实例中,名为 “var” 的变量是通过 assign 创建的。然后将 increment 标记(tag)在相同的变量名上应用了几次。注意,increment 标记(tag)不会对 assign 创建的变量 “var” 及其值产生任何影响。

输入


{% assign var = 10 %}
{% increment var %}
{% increment var %}
{% increment var %}
{{ var }}

输出

0
1
2
10

decrement

创建一个全新的数值变量,并且在后续每次调用时将此变量的值减 1。初始值是 -1。

输入


{% decrement variable %}
{% decrement variable %}
{% decrement variable %}

输出

-1
-2
-3

increment 类似,在 decrement 之中创建的变量与通过 assigncapture 创建的变量是互相独立的。