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

php - 调试 PHP 和控制流?

我是一个自学者,所以对传统的 Web 开发不太了解,但是我已经编写了一个完整的社交网站,但我不知道如何调试。我的网站有一些问题,我需要学习调试/

首先,我需要说明如何在 WAMP 上安装 Xdebug(因为我使用 phpDesigner)。每次遇到新错误时,我都会尝试使用网络上的教程进行很多尝试。我还尝试将它放在 /ext/ 目录中并从 WAMP PHP Extensions 菜单中激活它。不工作!

因此,如果有人在外面使用 PHPDesigner 和 Xdebug(不是随附的软件包,而是将其安装在 WAMP 上),请帮助我,我将不胜感激。顺便说一句 PHP 版本是 5.3.0

接下来是我网站的控制流程如何:-

这个控制流是否适合调试?因为我真的无法理解真正的 MVC 概念,所以我创建了这样的东西。

0 投票
7 回答
166577 浏览

sql-server - SQL Server 2000: How to exit a stored procedure?

How can I exit in the middle of a stored procedure?

I have a stored procedure where I want to bail out early (while trying to debug it). I've tried calling RETURN and RAISERROR, and the sp keeps on running:

I know it keeps running because I encounter an error further down. I don't see any of my prints. If I comment out the bulk of the stored procedure:

Then I don't get my error, and I see the results:

So the question is: how do I bail out of a stored procedure in SQL Server?

0 投票
2 回答
15253 浏览

asp.net-mvc - MVC中的执行流程

我正在尝试详细学习 MVC,我想知道内部的确切功能流程是什么,在调用哪些函数(重要函数)以及它们在应用程序启动时做什么以及除了控制器操作之外还调用了哪些函数当我们继续时,我们会在我们的应用程序中写入。

0 投票
13 回答
402670 浏览

python - 如何退出 if 子句

存在哪些过早退出if子句的方法?

有时我在编写代码并想在子句中放置一条break语句if,只是要记住那些只能用于循环。

让我们以下面的代码为例:

我可以想到一种方法来做到这一点:假设退出情况发生在嵌套的 if 语句中,将剩余的代码包装在一个大的 else 块中。例子:

这样做的问题是更多的退出位置意味着更多的嵌套/缩进代码。

或者,我可以编写代码以使if子句尽可能小,并且不需要任何退出。

有谁知道退出if条款的好/更好的方法?

如果有任何关联的 else-if 和 else 子句,我认为退出会跳过它们。

0 投票
1 回答
553 浏览

ajax - 使用 XmlHttpRequest 控制流?

XmlHttpRequest 通过回调工作。那么我怎样才能返回一个值呢?我试图设置一个全局变量,但这似乎不起作用。

getUserInfo()由于回调,无法返回结果:

回调:

我怎样才能得到回复loadUsernameInfo()

0 投票
8 回答
539 浏览

c - 我如何在没有 goto 的情况下(干净地)重写它?

如果没有 goto,我怎么能干净地做到这一点?

我也不想使用休息时间。此外,在做其他事情之前预计会循环几次(adv 40),所以 mostOfTheWork 部分很可能会尽可能高,即使只是为了可读性。提前致谢。

编辑:这是在编译器优化器在中断时工作不佳的误解下发布的,虽然一开始通常很愚蠢,但通过(性能)实验证明我自己是不正确的。另一方面,感谢您的回答;他们对不同风格的读物很有趣。

0 投票
3 回答
1177 浏览

java - Java - 处理非阻塞调用

在我的应用程序中,我使用的是第三方 API。这是一种立即返回的非阻塞方法。我有一组元素,我必须在这些元素上调用此方法。

现在,我的问题是我必须找到一种方法,直到所有方法执行完成并进行下一个操作。我该如何处理?我无法修改第三方 API。

简而言之,它看起来像这样

0 投票
3 回答
27527 浏览

c - 以下过程的控制流程图和圈复杂度

我必须找到这段代码的圈复杂度,然后提出一些白盒测试用例和黑盒测试用例。但是我在为代码制作 CFG 时遇到了麻烦。

也希望对测试用例有一些帮助。

0 投票
3 回答
199 浏览

c++ - 从表达式的中间退出而不使用异常

已解决:我想出了一个干净的方法来使用setjmp()/ longjmp(),只需要一个最小的包装器,比如:

这允许jump()在条件表达式中使用。所以现在代码:

正确翻译为:

回到调用函数中的调用点在caller哪里。jmp_buf清洁、简单和高效,其程度远低于异常的实现定义。感谢您的帮助!


有没有办法在表达式中间模拟流控制结构的使用?是否有可能在逗号分隔的表达式x, yy导致 a return?

编辑:我正在为类似于功能语言的东西开发编译器,目标语言是 C++。一切都是源语言中的表达,而最理智、最简单的目标语言翻译会留下尽可能多的表达。基本上,目标语言中的分号变成了 C++ 逗号。到目前为止,语言内流控制结构没有出现任何问题。它只是return。我只需要一种过早退出逗号分隔表达式的方法,并且我不希望使用异常,除非有人可以告诉我他们在这种情况下没有过多的开销。

问题当然是大多数流控制结构不是 C++ 中的合法表达式。到目前为止,我发现的唯一解决方案是这样的:

return语句始终存在(在Return未达到构造的情况下),因此throw必须将其包装起来?:以使编译器关闭其void在表达式中使用的结果。

我真的很想避免使用异常来进行流控制,除非在这种情况下可以证明不会产生特别的开销;抛出异常会导致展开或任何事情吗?此代码需要以合理的效率运行。我只需要一个相当于exit().

0 投票
2 回答
5031 浏览

algorithm - 确定最大堆栈深度

想象一下,我有一种基于堆栈的玩具语言,它带有 Push、Pop、Jump 和 If 操作。

我有一个程序,它的输入是玩具语言。例如我得到序列

在这种情况下,最大堆栈将为 2。更复杂的示例将使用分支。

在这种情况下,最大堆栈将为 3。但是,如本例所示,通过从上到下遍历是不可能获得最大堆栈的,因为它实际上会导致堆栈下溢错误。

CFG 可以帮助您构建图表并遍历您拥有的基本块的每条可能路径。然而,由于路径的数量对于 n 个顶点可以快速增长,因此您得到 (n-1)!可能的路径。

我目前的方法是尽可能简化图表并减少可能的路径。这行得通,但我认为它很难看。有没有更好(阅读:更快)的方法来解决这个问题?如果算法产生的堆栈深度不是最优的,我很好。如果正确的堆栈大小是 m,那么我唯一的限制是结果 n 是 n >= m。是否有可用的贪心算法可以在这里产生良好的结果?

更新:我知道循环和所有控制流合并具有相同堆栈深度的不变量。我想我写下一个简单的玩具般的语言来说明这个问题。基本上我有一个确定性的基于堆栈的语言(JVM 字节码),所以每个操作都有一个已知的堆栈增量。

请注意,对于这个问题,我确实有一个可行的解决方案,可以产生良好的结果(简化的 cfg),但我正在寻找一种更好/更快的方法。