问题标签 [control-flow]

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 投票
3 回答
48106 浏览

command-line - 在 For 循环中退出 - Windows 命令处理器 (CMD.EXE)

如果发生任何错误,我正在尝试找到中断/退出 FOR 循环的方法。以下是批处理文件的内容。

Sample.txt 有多个记录。如果发生任何错误,那么我希望退出批处理文件,而不是检查完整的 sample.txt 文件。例如,在语句 echo %recfile% 上,如果我放置了一些错误的命令 ech %recfile% 这是不正确的命令,那么我期望它应该进入 fail1 级别并退出。它成功地捕获了错误代码并进入了 fail1 级别,但是在此声明之后,它再次检查 sample.txt 文件(下一条记录)。有什么办法,如果我可以打破/退出 FOR 循环。

请指教。

谢谢,

0 投票
12 回答
3879 浏览

c# - 通过 Return 与 If/Else 控制流

哪个更好(通过return的隐式控制流或通过if的控制流)——见下文。请解释您认为对其中任何一个的优势/劣势。我喜欢选项 A,因为它的代码更少。

通过返回流:

通过 If/Else 流:

0 投票
3 回答
1739 浏览

python - threading.Thread 中的流控制

我遇到了一些使用线程模块(使用 Python 2.6)管理线程的示例。

我想了解的是这个例子如何调用“运行”方法以及在哪里。我在任何地方都看不到它。ThreadUrl 类在 main() 函数中被实例化为“t”,这是我通常期望代码启动“run”方法的地方。

也许这不是使用线程的首选方式?请赐教:

0 投票
1 回答
27086 浏览

sql - 如何在 tsql 中实现 do-while 循环

我试图弄清楚如何在 TSQL 中实现这一点

Transact-SQL 提供的唯一迭代控制流语句是while (condition) sentences首先评估条件,如果该条件为真,则执行该语句。

我正在考虑在一个场景中,比如在一个表上执行一个 UPDATE 语句,直到某个条件触发了最后一次执行的 UPDATE 。

最重要的是,我正在寻找解决这个问题的不太脏的方法(在 WHILE 之前复制 UPDATE 对我来说没有太大意义,因为 UPDATE 语句可以任意长且复杂)


编辑:我要解决的问题涉及同一个表下的多个 UPDATE 语句,每个语句都从先前的迭代中获取和转换值。仅在一个大的 UPDATE 语句中不可能做到这一点,因为每一行只会被评估和更新一次,所以循环是我能弄清楚让这个混乱工作的唯一方法。

0 投票
7 回答
4433 浏览

loops - 不能写成 for 循环的 while 循环示例

我知道while循环可以做for循环可以做的任何事情,但是for循环可以做while循环可以做的任何事情吗?

请举个例子。

0 投票
2 回答
11190 浏览

java - 从源代码生成控制流图的工具

我需要一个工具来从 java 源代码生成控制流图。有这样的工具吗?如果我有控制流图,是否也可以生成源代码?

0 投票
4 回答
10548 浏览

java - Java:异常作为控制流?

我听说对控制流使用异常是不好的做法。你觉得这怎么样?

因此,如果未找到匹配项,则整数将为 -1。当我尝试获取 substring 时,这将导致异常g0.substring(0, -1)。然后该函数只返回一个表示未找到匹配项的对象。

这是不好的做法吗?我可以手动检查每个索引,看看它们是否都是-1,但这感觉像是更多的工作。

更新

我已经删除了 try-catch 块并将其替换为:

哪个更好:检查每个变量是否为 -1,或者使用布尔值foundMatch来跟踪并在最后检查?

0 投票
3 回答
523 浏览

python - Why does else behave differently in for/while statements as opposed to if/try statements?

I have recently stumbled over a seeming inconsistency in Python's way of dealing with else clauses in different compound statements. Since Python is so well designed, I'm sure that there is a good explanation, but I can't think of it.

Consider the following:

Here, do_something_else() is only executed if condition is false, as expected.

Similarly, in

do_something_else() is only executed if no exception occurred.

But in for or while loops, an else clause is always executed, whether the contents of the for/while block have been executed or not.

will always print "Iterator is empty!", whether I say some_iterator = [] or some_iterator = [1,2,3]. Same behavior in while-else clauses. It seems to me that else behaves more like finally in these cases. What am I overlooking?

0 投票
6 回答
680 浏览

asp.net - 重写多个 if 语句

我觉得这是一堆你知道我的意思。它有效,但我觉得我在页面生命周期(加载和回发)甚至我在每个 if 语句中的冗余方面都做得过火了。

会发生什么:

  1. 此方法在页面加载时调用(无论是回发还是其他)
  2. 如果用户提交表单,它会减少他们的总积分(这些单选按钮下方有一个按钮,允许他们提交和申请积分)。

因此,我也在用户声明点(提交)之后立即调用此方法,这会将这些点从他们下次的总数中删除。因此,根据他们帐户中的总积分,我需要在上次提交页面刷新后启用/禁用这些单选按钮

0 投票
2 回答
223 浏览

java - 无法从读取标准输入流的方法返回到 main()

我基本上是在尝试从一个从标准输入流中读取用户输入的方法返回。由于用户可以选择退出应用程序,因此我正在尝试找出执行此退出的最佳方法。理想情况下,我将能够返回begin()main()完成,从而退出应用程序。

主要逻辑发生aMachine在用户使用此方法执行给定命令时:

同样,问题是如何在用户输入命令 Q 或 q 后退出应用程序。退出命令是这样的:

现在按照我上一个问题的建议,退出应用程序,我试图返回 main() 并基本上让 main() 完成。这样我就避免了任何使用System.exit(0),尽管那也很好。

所以,在这个例子中,我在类的方法中有一个return语句,当我们收到一个 Q 或来自用户的 q 时调用它。但是,当执行退出命令时,控制流似乎永远不会响应CommandQuit 方法的内部,而不是从循环中返回、退出和返回。executeCommandQuitbegin()while(true)begin()main()return;execute

我的示例中是否缺少任何内容?也许有些事情太明显了,以至于我现在看不到。谢谢你的帮助。