gpt4 book ai didi

coldfusion - 在冷融合中使用动态案例切换(真)?

转载 作者:行者123 更新时间:2023-12-04 15:20:25 30 4
gpt4 key购买 nike

为了避免嵌套的 if 语句并提高可读性,我想创建一个switch(true){ ... } Coldfusion 中的声明。我在 php 中经常使用这个,但是当我在 Coldfusion 中尝试这个时,我在初始化时收到以下错误:

Template error

This expression must have a constant value.



当 switch case 在其条件中使用变量时会发生这种情况,例如:
//this example throws the error
switch(true){
case foo == 1:
writeOutput('foo is 1');
break;
}

使用带有常量值的 switch(true){ ... } 语句(如错误解释)确实有效:
//this example doesn't throw the error
switch(true){
case 1 == 1:
writeOutput('1 is 1');
break;
}

有没有办法让第一个语句在 Coldfusion 中起作用?也许通过对变量的评估或一些技巧,或者这在 Coldfusion 中是绝对不行的?

最佳答案

简而言之:没有。 case 值需要是可以编译为常量值的值。 1==1可以,因为它只是 true . foo == 1不能,如 foo仅在运行时可用。

基本上你所描述的是一个 if/else if/else无论如何构建,所以只需使用其中之一。

关于coldfusion - 在冷融合中使用动态案例切换(真)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33824648/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com