トゥルーシーとファルシー

ブール型でない データ型 がブールコンテキストで使用されると(条件付きタグなど)、Liquid はそれを true または false として評価する必要があるかどうかを判断します。デフォルトで true を返すデータ型をトゥルーシーと呼びます。デフォルトで false を返すデータ型をファルシーと呼びます。

トゥルーシー

Liquid のすべての値は、nilfalse を除きトゥルーシーです。

以下の例では、「Tobi」というテキストはブール型ではありませんが、条件内でトゥルーシーになります。

{% assign name = "Tobi" %}

{% if name %}
  This text will always appear since "name" is defined.
{% endif %}

文字列 は、空であったとしてもトゥルーシーです。以下の例では、page.category が存在するものの空の場合は空の HTML タグが生成されます。

入力

{% if page.category %}
  <h1>{{ page.category }}</h1>
{% endif %}

出力

  <h1></h1>

ファルシー

Liquid でファルシーなのは、nilfalse のみです。

まとめ

以下の表は、Liquid でトゥルーシーまたはファルシーとなっている項目をまとめたものです。

  トゥルーシー ファルシー
true  
false  
nil  
文字列  
空の文字列  
0  
整数  
浮動小数点数  
配列  
空の配列  
ページ  
EmptyDrop