【问题标题】:coldfusion cfscript, switch/case where case between a rangeColdfusion cfscript,开关/案例,其中一个范围之间的案例
【发布时间】:2015-08-10 02:35:32
【问题描述】:

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

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

这是我所拥有的:

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;
}

在这种情况下有没有办法指定“之间”(包括或不包括)?

谢谢

【问题讨论】:

    标签: coldfusion switch-statement


    【解决方案1】:

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

    【讨论】:

    • 是的,正如我想的那样,在考虑之后 - 有 3 个选项,在这种情况下做 IF ( x >= 1 && x
    • 是的。我的方法是选择使表达的意图更清晰的那个。对于范围和其他复杂的比较,这通常意味着if/elseif
    猜你喜欢
    • 2016-10-09
    • 2020-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多