Тестирование переменного равенства в веторе

StackOverflow https://stackoverflow.com/questions/4303113

  •  29-09-2019
  •  | 
  •  

Вопрос

В веточка, Есть ли простой способ проверить равенство 2 переменных?

{% if var1 = var2 %} НЕПРАВИЛЬНО, {% if var1 is sameas(var2) %} работает только в том случае, если оба - струны ...

(из DOCS) «Sameas проверяет, если переменные указывают на тот же адрес памяти, чем другая переменная», как это полезно.

Таким образом, единственный способ сравнения целых чисел, состоит в том, чтобы преобразовать их как на строки:
{% if var1|lower is sameas(var2|lower) %}

Это было полезно?

Решение

Насколько я знаю, ветка поддерживает все стандартные логические операторы ==, !=, <, >, >=, and <=. Также ваш первый пример {% if var1 = var2 %} не проверяет равенство, это присваивает var2 к var1, вы можете изменить его на оператор сравнения ==.

Веток sameas встроенный тест, по сути, является строгим оператором сравнения типа ===, следовательно, почему они оба должны быть строками в вашем примере.

Другие советы

Если вы сравниваете значение, которое имеет числовое значение, которое вы можете использовать:

{% if (psong.songid) ==(song.id) %}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top