内置断言

用于使用if关键字对操作数做出检验判断。例如

{% if value is number %}
    Number
{% endif %}

defined

断言变量已定义。

undefined

断言变量未定义。

odd

断言输入为奇数。

even

断言输入为偶数。

string

断言输入为字符串。

number

断言输入为数字。

divisible

断言输入可以被整除。

{% if rating is divisibleby(2) %}
    Divisible
{% endif %}

iterable

断言输入可以被循环迭代。如列表、对象(键值对)。

object

断言输入是对象(键值对)。

starting_with

断言输入以指定字符串打头。

{% if path is starting_with("x/") %}
    In section x
{% endif %}

ending_with

断言输入以指定字符串结尾。

containing

断言输入包含指定值。

输入类型:

  • 字符串:是其子串
  • 列表:是其元素
  • 对象(键值对):键名存在
{% if username is containing("xXx") %}
    Bad
{% endif %}

matching

断言输入匹配正则表达式。

{% if name is matching("^[Qq]ueen") %}
    Her Royal Highness, {{ name }}
{% elif name is matching("^[Kk]ing") %}
    His Royal Highness, {{ name }}
{% else %}
    {{ name }}
{% endif %}

empty

断言输入为空。

  • 字符串长度为0
  • 数字等于0
  • 空数组
  • false 布尔值