Gibt es eine Möglichkeit, diese Logik in einer einzigen, eleganten Codezeile zu schreiben?
%Vor%Coldfusion 9:
%Vor%Coldfusion 8 und darunter:
%Vor%Einige werden sagen, dass IIf () aus Leistungsgründen vermieden werden sollte. In diesem einfachen Fall werden Sie sicher keinen Unterschied finden. Ben Nadels Blog hat eine Diskussion über die IIF () Performance und der neue ternäre Operator in CF 9 .
Ich finde Ihr Original elegant genug - erzählt die Geschichte, leicht zu lesen. Aber das ist definitiv eine persönliche Vorliebe. Zum Glück gibt es immer mindestens neun Möglichkeiten, um etwas in CFML zu tun.
Sie können dies auf eine Zeile setzen (CFML hat keine End-of-Line-Anforderungen):
%Vor%Sie können auch die IIF () -Funktion verwenden - es wird den Zweck erfüllen :
%Vor%Dieses Konstrukt ist ein bisschen seltsam tho '- ist klarer, denke ich. Die Stärke von IIF () ist, dass es auch inline verwendet werden kann (es ist schließlich eine Funktion). Zum Beispiel:
%Vor%Dieses letzte Formular wird häufig verwendet, um ein sauberes HTML-Layout beizubehalten, während dynamischer Code eingefügt wird.
Wenn Sie nach prägnantem Code suchen, können Sie einen Schritt weiter gehen als die anderen Beispiele, indem Sie die CF-Auswertung von Werten ungleich Null als true
nutzen:
Natürlich werden Sie ein wenig Klarheit opfern, aber das ist der Kompromiss für kompakteren Code.
Tags und Links coldfusion