问题标签 [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 投票
1 回答
114 浏览

java - 表示一个开关盒掉了

一个案例落入下一个案例,可能表示错误,但有时是故意的;如果是这样,为了人类和编译器的利益,最好将其标记为这样。

前者可以通过注释来完成:

我希望 javac 会注意到评论并感到满意,但不,它仍然会警告失败。

有什么推荐的方法来满足 javac 这个特定实例是故意的,同时为程序的其余部分保留警告?

0 投票
1 回答
57 浏览

c - 不理解带有 switch 块的程序的输出

我想了解这段代码的输出,特别是输出的最后两行(第 4 行和第 5 行)。

0 投票
1 回答
2102 浏览

bash - bash 在使用 fallthrough 时是否有与 case 语句等效的“默认”?

所以,正如你所看到的,如果它会触发前两种情况,我正在使用;;&而不是;;这样。 但是,这样做的一个缺点是不再“表示”“其他所有内容”,而是匹配“所有内容”;因此也会触发最后一个。action=b
*)b

PowerShell 能够做我想做的事,因为它有一个专用的default关键字,Bash 有类似的东西吗?
诸如此类的详尽的解决方法怎么样[!(a|b|c)])

做类似case 5 in 4) echo bob; ;;& esac || echo DEFAULTcase似乎没有返回任何代码的事情会很方便。

0 投票
0 回答
21 浏览

c# - 使用相同的变量名或空检查切换对象类型失败?

所以我们可以在 switch 语句上做一个 fallthrough,我们可以在 object 类型上做 switch 语句,但是有没有办法对 object 类型做一个 fallthrough,这样我们就可以说“如果是这些类型的对象中的任何一个,调用这个方法,通过在对象中,我会在那里处理它”?

通常情况下,每个 case 语句必须有一个唯一的变量名,因此使用相同的变量名似乎不适合这里,但如果我可以基于as强制转换进行空值检查,那将起作用,所以我知道要发送哪个。

例如:

我遇到的问题是Use of unassigned local variable 'myObjectType1',我什至不能as为空检查进行强制转换,这样我就可以抓住它真正的样子,这样我就可以将它交给我对那些特定类型的处理方法。这里的困难是我不能重构整个当前的方法来支持这种模式方法。

我确定我缺少一些简单的模式或概念,但它是什么?

编辑:我想做的是:

0 投票
1 回答
91 浏览

haskell - 在 Haskell 中是否可以先编写包罗万象的模式?还是使用“负面”模式?

有时,如果某个模式规则需要一些特殊的 rhs,通过 rhs 使其更具可读性where,我最终会得到这样的结果

由于冗长的where. 如果我能写出这样的东西就好了:

我认为它仍然不会被称为包罗万象,而是“包罗万象”,但是有什么办法可以做到这一点吗?