如果我用樹枝表達,如:Twig的邏輯運算符是否評估這兩個表達式?
{% if a and function(a) %}
與a
存在falsey,並嫩枝仍評估function(a)
,或將表達式計算爲false
沒有評估的第二部分?同樣與or
。
如果我用樹枝表達,如:Twig的邏輯運算符是否評估這兩個表達式?
{% if a and function(a) %}
與a
存在falsey,並嫩枝仍評估function(a)
,或將表達式計算爲false
沒有評估的第二部分?同樣與or
。
TL; DR:如果所述第一部分是falsey,同樣與「或」如果第一部分是truthy嫩枝的邏輯運算符不評價一個「和」表達的第二部分。
作爲pointed out by zerkms,這是通過使用模具可測試的。
例如:
{% if water_is_dry and die('water_is_wet') %}
不會死,因爲第一個表達式,被空,是falsey。
鑑於:
{% if water_is_dry or die('water_is_wet') %}
會死。
請注意,如果你作爲一個函數添加模具到您的嫩枝例如,像這樣這隻適用:
$twig->addFunction(new Twig_SimpleFunction('die', 'die'));
已記錄並編輯。 – iliveinapark 2013-03-25 01:47:02
@zerkms,我發現這個問題和新的答案有用。也許你應該在這裏刪除你的減號。 – 2013-11-30 20:39:47
我想我能做到這一點。我實際上開始查看源代碼,因爲我無法在網上找到答案。然而,我認爲也許有一天使用樹枝的設計師可能需要知道,並且可能不知道如何檢查自己,所以我想我可能會問,以便他們能夠找到幫助。 – iliveinapark 2013-03-25 01:23:41
我幾乎不懷疑*設計師*會關注那個 – zerkms 2013-03-25 01:26:13
另外,die不是一個Twig函數,所以它不那麼簡單。 – iliveinapark 2013-03-25 01:30:47