coldfusion cfscript,switch/case where case between a range

coldfusion cfscript, switch/case where case between a range

我遇到了一个问题,我想做三件事中的一件... 如果x的值为1-5(含)做A,如果x在6-13(含)之间做B,如果x在14-16之间做C.

我认为 switch case 没问题,虽然我想我可以使用普通的 IF / ELSE IF,但是,在我编写代码时,我不禁认为有一种更优雅的方式来说明这一点使用 switch/case(以防万一我遇到有超过三个选项的类似需求)。

这是我的:

switch ( x ) {
    case 1:case 2:case 3:case 4:case 5:
        // DO A
        break;
    case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:
        // DO B
        break;
    case 14:case 15:case 16:
        // DO C
        break;
}

有没有办法在case中指定"between"(包含或不包含)?

谢谢

没有。 Switch 语句旨在与单个 constant values. Unless the comparison is such that the value can be modified to conform to that rule 一起使用,唯一的选项是您已经编写的内容或使用 if/else if/else,AFAIK。在大多数情况下,后者比一堆硬编码的 case IMO 语句更干净。