我想在 Coldfusion 中为以下三元运算符(它一直在吹)的语法提供一些帮助:
iif(structKeyExists(session, "newUser") ? session.newUser.planId : 0)
它是以下模型调用的一部分:
user = model("user").new(UUID=createUUID(), planId=iif(structKeyExists(session, "newUser") ? session.newUser.planId : 0));
然而,它一直在爆炸:
Parameter validation error for the IIF function. The function takes 3 parameter.
最佳答案
根据 Adobe's documentation ,iif
的函数语法如下所示:
IIf(condition, string_expression1, string_expression2)
所以在你的情况下,你会这样调用它:
iif(structKeyExists(session, "newUser"), session.newUser.planId, 0)
这与描述为here 的三元运算符(?:
) 不同。并遵循以下语法:
(Boolean expression)? expression1 : expresson2
在您的情况下,它看起来像这样:
planId=structKeyExists(session, "newUser") ? session.newUser.planId : 0
关于coldfusion - 三元运算符爆炸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5720382/