【发布时间】:2011-01-15 07:40:59
【问题描述】:
我什么时候使用“OR”与 ||在 ColdFusion cfif 语句中?
【问题讨论】:
标签: syntax coldfusion if-statement
我什么时候使用“OR”与 ||在 ColdFusion cfif 语句中?
【问题讨论】:
标签: syntax coldfusion if-statement
自 CF8 以来,ColdFusion 支持双管道(以及双 & 符号)。自从了解到这一点后,我总是使用双管道/双&符号而不是 OR/AND。我使用这种风格编码的原因是“OR”对于正在执行的操作并不完全描述。有按位或、逻辑或和短路逻辑或。
按位或:01 | 10 = 11
逻辑或:buildErrorsOn(form.varA) | buildErrorsOn(form.varB)
逻辑或(短路):isDefined('url.doStuff') || isDefined('url.doStuff')
在您现在可以使用的几乎任何语言中(Oracle 似乎是一个明显的例外),双管道总是意味着逻辑或短路。这是一个精确的符号。
【讨论】:
我更喜欢 || CFSCRIPT 和 CFML 中的 OR。
【讨论】:
CF9 中可能有对这些关键字带来同等作用的支持,但我找不到表明这一点的参考资料。真的,您最好只在 CFIF 中使用 OR 关键字,并保存 ||用于 SQL 查询中的字符串连接。
【讨论】:
看起来像 ||从 CF8 开始支持。 CF8 documentation
我总是觉得“或”更直观。 (就此而言,我总是在 SQL 中使用“+”来连接字符串 - 还是 SQL Server 独有的?)
【讨论】:
对此不确定,但似乎cfif 语句仅支持 OR,因此您的问题的答案是“始终”。看到这个:
【讨论】: