Чтобы избежать вложенных операторов if и улучшить читаемость, я хотел создать оператор switch(true){ ... }
в Coldfusion. Я использовал это часто в PHP, но когда я пытаюсь это в Coldfusion, я получаю следующую ошибку при инициализации:переключатель (правда) с динамическими корпусами в coldfusion?
ошибка шаблона
Это выражение должно иметь постоянное значение.
Это происходит, когда переключатель случае использует переменную в своем состоянии, как:
//this example throws the error
switch(true){
case foo == 1:
writeOutput('foo is 1');
break;
}
Используя переключатель (истина) {...} оператор с постоянными значениями (как объясняет ошибка) делает работы:
//this example doesn't throw the error
switch(true){
case 1 == 1:
writeOutput('1 is 1');
break;
}
Есть ли способ получить первое заявление для работы в Coldfusion? Может быть, с оценкой переменной или некоторой трюки, или это определенно не идет в Coldfusion?
Nope. Если они не изменили поведение в CF11, оно должно быть константным или [написано таким образом, чтобы оно соответствовало правилу констант] (http://stackoverflow.com/questions/31910902/coldfusion-cfscript-switch-case- где-случай-между-а-диапазон). – Leigh