2

对于 Coldfusion 中的以下三元运算符(一直在吹),我需要一些语法帮助:

iif(structKeyExists(session, "newUser") ? session.newUser.planId : 0)

它是以下模型调用的一部分:

user = model("user").new(UUID=createUUID(), planId=iif(structKeyExists(session, "newUser") ? session.newUser.planId : 0));

然而,它一直在爆炸:

IIF 函数的参数验证错误。该函数采用 3 个参数。

4

1 回答 1

9

根据Adob​​e 的文档,函数语法iif如下所示:

IIf(condition, string_expression1, string_expression2)

所以在你的情况下,你会这样称呼它:

iif(structKeyExists(session, "newUser"), session.newUser.planId, 0)

这与三元运算符 ( ?:) 不同,此处描述并遵循以下语法:

(Boolean expression)? expression1 : expresson2

在您的情况下,它看起来像这样:

planId=structKeyExists(session, "newUser") ? session.newUser.planId : 0
于 2011-04-19T17:42:21.583 回答