问题标签 [control-structure]

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 回答
130 浏览

php - 如何 - 使用 PHP 实现动态

我有一个针对 php 文件的表单。一旦表格完成并将数据插入数据库,它希望它显示“Awesome”。Awesome 正在显示,但在表单上方。我希望它替换表单并显示真棒。我怎么做?

谢谢你。

0 投票
28 回答
8067 浏览

loops - 有用的替代控制结构?

有时当我在编程时,我发现某些特定的控制结构对我来说非常有用,但在我的编程语言中并不直接可用。我认为我最常见的愿望是“分裂”(我不知道实际上该怎么称呼它):

此代码的语义foo()是始终运行,然后检查条件。如果为真,则bar()运行,我们返回第一个块(因此foo()再次运行,等等)。感谢reddit 用户 zxqdms 的评论,我了解到 Donald E. Knuth 在他的论文“Structured programming with go tostatements”(参见第 279 页)中写到了这种结构。

您认为哪些替代控制结构是组织计算的有用方式?

我的目标是为自己和其他人提供有关结构化代码的新思维方式,以改进分块和推理。

注意:我不是在问如何概括所有可能的控制结构,无论是通过使用jneif/ goto、Lisp 宏、延续、单子、组合子、夸克还是其他任何东西。我在问什么专业化对描述代码有用。

0 投票
1 回答
278 浏览

haskell - Haskell中的尾调用内存管理

我正在使用以下控制结构(我认为它是尾递归的)

做迭代深化

在每次迭代深化之后,这个空闲内存(因为它在技术上将不再能够到达它),如果不是,我应该如何重写控制结构?

PS在第二个虽然看起来这会失败,因为尾递归结构经常能够访问堆栈上的东西,比如添加到前一个值,即使在这种情况下它没有。– Roman A. Taycher 11 月 28 日 12:33 PPS 在第三个问题上,尽管它让我认为它可以在 dfsWithMaxDepth 返回后立即丢弃 dfsWithMaxDepth 中的值,并且一堆答案不会占用太多内存。– Roman A. Taycher 11 月 2 日

0 投票
4 回答
1594 浏览

scala - Scala:具有多个代码块的自定义控制结构

是否可以创建具有多个代码块的自定义控制结构,以before { block1 } then { block2 } finally { block3 }? 问题仅与糖部分有关-我知道通过将三个块传递给方法可以轻松实现该功能,例如doInSequence(block1, block2, block3).

一个真实的例子。对于我的测试实用程序,我想创建一个这样的结构:

编辑

最后我想出了这个解决方案:

输出是:

它主要基于Thomas Lockney的回答,我只是添加了伴随对象以便能够import MyTimer._

谢谢大家,伙计们。

0 投票
7 回答
374 浏览

language-agnostic - 闯入 for 循环

假设您有以下代码:

请注意,我不是在谈论特定于 PHP(这适用于所有语言)或这个特定示例。这是关于中断 for 循环(在这种情况下,返回 true;停止循环)。

根据我的一位老师的说法,这是非常非常糟糕的做法,而且还没有完成。

打破循环真的是一种未完成的做法吗?

谢谢

0 投票
4 回答
1349 浏览

programming-languages - 超出标准条件和循环的控制结构?

结构化编程语言通常具有一些控制结构,例如while, if, for, do, switch, break, 和continue用于在源代码中表达高级结构。

然而,多年来提出的许多其他控制结构尚未进入现代编程语言。例如,在 Knuth 的论文“使用 Go To 语句进行结构化编程”,第 275 页中,他引用了一个看起来像异常处理的精简版本的控制结构:

这似乎是一个有用的结构,但我还没有看到任何语言实际上将它实现为标准异常处理的特例。

类似地,Edsger Dijkstra 经常使用一种控制结构,在这种结构中,根据一组可能为真的条件,非确定性地执行多段代码中的一段。您可以在他关于 smoothsort 的论文的第 10 页上看到这一点。示例代码可能如下所示:

我知道历史上 C 影响了许多现代语言,如 C++、C# 和 Java,我们今天使用的许多控制结构都是基于 C 提供的小集合。然而,正如另一个 SO 问题所证明的那样,我们程序员喜欢思考关于我们希望拥有但许多编程语言不支持的替代控制结构。

我的问题是——今天使用的通用语言是否支持与我上面提到的 C 风格控制结构完全不同的控制结构? 这样的控制结构不必是无法使用标准 C 结构表示的东西——几乎任何东西都可以这样编码——但理想情况下,我想要一个可以让你处理某些编程任务的例子与 C 模型所允许的完全不同的方式。

不,“函数式编程”并不是真正的控制结构。

0 投票
5 回答
6461 浏览

javascript - 如何在收到有效输入之前继续 JavaScript if.. else if 语句?

如何使用 if...else if 语句继续提示用户提供有效响应?我的脚本目前工作一次,但随后中断:

提前致谢!

0 投票
5 回答
359 浏览

javascript - Javascript 中的高级构造

我在 github 上发现了一个有趣的项目,它处理浏览器中的pdf 渲染

我试图阅读代码,因为我对这个主题很感兴趣,但我意识到我的 javascript 知识很差(不足)。

有如下结构:

您可以在上面的链接中看到更多。

您能否告诉我一些可以学习的资源,以便能够轻松理解项目中的代码,甚至更好地为以后的项目做出贡献?

0 投票
2 回答
201 浏览

c++ - 在控制结构中定义变量

根据标准,在控制结构中声明变量与在其他地方声明变量之间的行为有什么区别?我似乎找不到任何提及它。

如果我所指的内容不清楚,这里有一个例子:

如您所见,我obj在 if 块中声明并初始化了一个局部变量 , 。

此外,是否有任何技术原因说明为什么在使用此语法代替条件时没有给出任何特殊行为?例如,添加一组额外的括号会导致编译器错误;这也可以防止变量与其他条件链接。

0 投票
3 回答
253 浏览

php - PHP 缓存结构(如果 HIT 则跳过代码块)

基本上,我正在实现自己的缓存系统。理想情况下,它看起来像这样:

但这是我不希望找到的圣杯。基本上,$CACHE->start() 检查缓存是命中还是未命中,无论是命中,它都会跳过 //CODE 直到 $CACHE->end()。

到目前为止,我所取得的最好成绩是:

由于 PHP 支持匿名函数,我在想:

但是这段代码有个问题,就是代码不在同一个变量范围内。有机会绕过吗?

更新:我已经切换到 ruby​​,它允许将块传递给一个函数,非常适合这个任务。