问题标签 [fall-through]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2600 浏览

swift - 如何在 switch 语句中解决特定情况

在我的第一部分中,我UIAlertController根据行展示了不同的样式。第二部分做不相关的事情。为了避免两个cases 中的代码重复,如何在 switch 语句中解决特定情况?这可能很快吗?有没有其他语言有这个概念?

0 投票
2 回答
566 浏览

php - 带有 For 循环 PHP 的贯穿式开关盒

请帮忙。

这是我在 Java 书中得到的示例代码,我将上面的代码翻译成 PHP。

以下代码的输出:

我的问题是,即使案例 0 到案例 3 没有任何以下代码并且案例 4 是带有 echo 语句的案例,它怎么会输出“i 小于 5”?我很困惑,谁能给我解释一下。提前致谢。

0 投票
2 回答
39733 浏览

go - Go switch/cases 是否会失败?

当你到达一个 Go 案例的末尾时会发生什么,它是否会进入下一个,或者假设大多数应用程序不想失败?

0 投票
4 回答
3187 浏览

rust - Rust 中 tribonacci 序列的惯用实现

我是 Rust 的新手,但作为 Haskell 的粉丝,我非常欣赏matchRust 的工作方式。现在我面临着我确实需要失败的罕见情况——从某种意义上说,我希望执行几个重叠的所有匹配情况。这有效:

我的问题是这是否在 Rust 中是惯用的,或者是否有更好的方法。

上下文是Cracking the Coding Interview中的一个问题:“一个孩子正在跑上n步的楼梯,一次可以跳 1 步、2 步或 3 步。实现一种方法来计算孩子可以用多少种可能的方式跑上楼梯。”</p>

0 投票
2 回答
3164 浏览

python - 在 Python 字典中替换 switch/case 的失败

我尝试在 Python 中实现 switch/case 机制。在阅读了几个网站和这里的问题(例如这个)之后,我构建了下面的代码。但它的行为是错误的,具有我所理解的 - 一个失败,这甚至可能是有问题的,当然不是默认的预期结果。

(显然,每种情况下的相同开关只是为了示例)

当我运行它时,我希望something()只运行一次(因为我手动输入2)。但是,控制台中的输出是:

什么意思它运行了 6 次加上默认值运行。我无法理解这段代码中的什么允许这样的失败?或者问题可能不同?

这里是 Python 2.7.12。

0 投票
1 回答
13637 浏览

c++ - 为什么即使我使用 [[fallthrough]],GCC 也会警告我失败?

在下面的代码中,我使用[[fallthrough]]C++1z 中的标准属性来记录需要失败:

使用 GCC 7.1,代码编译没有错误。但是,编译器仍然警告我一个失败:

为什么?

0 投票
3 回答
2157 浏览

go - golang 的失败似乎出乎意料

我有以下代码:

在 go 操场上打印两条线 -请参见此处的示例。我本来希望 fallthrough 语句包括对下一个case语句的评估,但情况似乎并非如此。

当然,我总是可以使用一堆if语句,所以这不是一个真正的障碍,但我很好奇这里的意图是什么,因为在我看来这是一个不明显的结果。

有人愿意解释吗?例如:在这段代码中,我怎样才能执行第 1 和第 3 种情况?

0 投票
2 回答
13011 浏览

c - 如何在 gcc 中正确使用 __attribute__((fallthrough))

代码示例:

仅使用 gcc 6.3.0-std=c11此代码会发出警告:

在不引起警告的情况下使用它的正确方法是什么?

0 投票
1 回答
1259 浏览

c# - 模式匹配失败

目前在 c#7(版本 15.3.4)中,以下代码可有效编译,但两个变量都无法正常使用。

如果你尝试使用它们,你会得到熟悉的错误,变量可能在访问之前没有被初始化。

有时在模式匹配中您并不关心确切的类型,只要该类型在您想要的类别中。这里仅以苹果和橙子为例。

有更好的方法吗?

0 投票
3 回答
199 浏览

php - php andif 语句,通过

冒着将自己归咎于骨头的风险,我仍然问这个问题:php中是否有类似“andif”的东西,或者我如何以优雅的方式解决以下问题?

场景:第一次测试,如果为真,进行一些处理(例如联系服务器),然后进行第二次测试,做某事......进行第三次测试,然后执行结果或 - 如果上述任何一项失败 - 总是输出同样的失败。

而不是每次都重复 else 语句...

..我寻找类似的东西:

在一个函数中,如果成功,我可以使用带有 return 的“fall through”模拟:

..但在主程序中?