Testen variable Gleichheit in Zweig
Frage
Zweig , gibt es einen einfachen Weg, um die Gleichheit von zwei Variablen zu testen?
{% if var1 = var2 %}
nicht gültig ist, {% if var1 is sameas(var2) %}
funktioniert nur, wenn beide ein Strings sind ...
(von docs) "sameas prüft, ob eine Variable auf der gleichen Speicheradresse als eine andere Variable", wie thats nützlich.
So ist die einzige Art, wie ich ganze Zahlen zu vergleichen gefunden habe, ist sie beide in Strings zu konvertieren:
{% if var1|lower is sameas(var2|lower) %}
Lösung
Soweit ich weiß Zweig alle Standard logischen Operatoren unterstützt auch ==, !=, <, >, >=, and <=.
, Ihr erstes Beispiel {% if var1 = var2 %}
sucht nicht nach Gleichheit, es var2
zu var1
zuordnet, könnten Sie wollen, dass es mit dem Vergleichsoperator ==
ändern.
Der Zweig sameas
in Test gebaut, ist im Wesentlichen ein strenger Typvergleichsoperator ===
, also warum sie beide brauchen Strings in Ihrem Beispiel zu sein.
Andere Tipps
Wenn Sie Wert vergleichen, die einen numerischen Wert haben, können Sie verwenden:
{% if (psong.songid) ==(song.id) %}