Prueba de la igualdad variable en rama
Pregunta
ramita , ¿hay una manera fácil de probar la igualdad de las 2 variables?
{% if var1 = var2 %}
no es válida, {% if var1 is sameas(var2) %}
sólo funciona si ambos son una cadenas ...
(de docs) "sameAs comprueba si una variable apunta a la misma dirección de memoria de otra variable", como eso es útil.
Así que la única forma que he encontrado de la comparación de números enteros es convertir a los dos cuerdas:
{% if var1|lower is sameas(var2|lower) %}
Solución
Por lo que yo soy consciente de la ramita es compatible con todos los operadores lógicos estándar ==, !=, <, >, >=, and <=.
Además, su primer ejemplo {% if var1 = var2 %}
no comprueba por la igualdad, se asigna a var2
var1
, es posible que desee cambiar al ==
operador de comparación.
El sameas
ramita incorporado en la prueba, es esencialmente una estricta ===
operador de comparación de tipos, de ahí que ambos necesitan ser cadenas en su ejemplo.
Otros consejos
Si está comparando el valor que tienen un valor numérico que puede utilizar:
{% if (psong.songid) ==(song.id) %}