2012-02-29 210 views
0

我正在研究一個coldfusion線路,試圖弄清楚這條線的含義。我是新來的CF,所以請原諒我的無知。帶參數的coldfusion IIF聲明

<CFSET is_box = IIF(_boxes[1].name EQ application.box,1,0)> 

我假定_boxes是對象的數組,如果該陣列中的索引1等於application.box然後什麼呢1,0的意思。 這是否就像下面的簡寫js聲明一樣。

is_box = (_boxes[1].name == application.box) ? 1 : 0; 

回答

2

是它像一個速記的js語句在哪裏呢下面。

是的,除了字符串比較不區分大小寫。

http://help.adobe.com/en_US/ColdFusion/9.0/Developing/WSc3ff6d0ea77859461172e0811cbec22c24-7f4f.html

編輯:你可以,如果你使用CF9以上,重構它到

<CFSET is_box = _boxes[1].name EQ application.box ? 1 : 0> 
+2

實際上,三元運算符(?:)僅面世在CF9 – 2012-02-29 23:47:57

+0

如果你想要區分大小寫,你也可以武裝java的String方法.equals(),它返回布爾值 – 2012-03-01 11:58:00

+0

或使用compare()如果你想留在CFML中 – Henry 2012-03-01 16:11:37