bedingte operator in der Geschwindigkeit
Gibt es eine Möglichkeit, das zu tun ternäre Operatoren in der Geschwindigkeit?
Dies ist, was ich gerne tun würde:
#set ($name = ($args.get(0) == "") ? "default" : $args.get(0))
Statt klobige if-else -
#if ($args.get(0) == "")
#set ($name = "default")
#else
#set ($name = $args.get(0))
#end
Irgendwelche Ideen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Aus der Erfahrung und dem Lesen der VTL-Referenz es gibt keine Möglichkeit, dies zu tun. Wenn Sie eine Vielzahl von Aufgaben, wie dies vielleicht sehen Sie bei der Definition Ihrer eigenen velocimacro, um zu versuchen und zu vermeiden, sich wiederholende if-else.
Beispielsweise, wenn das makro druckt nur eine einzelne Zeichenfolge können Sie das folgende tun:
Die doppelten Anführungszeichen um den makro-Aufruf wichtig, da das bedeutet, dass die Rechte Seite der #Satz wird analysiert.
#set ($name = condOpt($args.get(0), "default"))
Wenn ich das makro überprüfen Sie auf$args.get(0)
um zu sehen, ob es leer war oder nicht..Landete ich tun, wie du gesagt hast, Mark:
Und dann kann ich es nennen wie so: