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

标签 loops programming-languages control-structure

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

{
    foo();
} split_while( condition ) {
    bar();
}

这段代码的语义是 foo()总是运行,然后检查条件。如果为真,则 bar()运行,我们回到第一个 block (因此再次运行foo(),等等)。感谢 a comment by reddit user zxqdms ,我了解到 Donald E. Knuth 在他的论文 "Structured programming with go to statements" 中写到了这种结构。 (参见第 279 页)。

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

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

注意:我不是在问如何概括所有可能的控制结构,是否使用 jne , if/goto 、Lisp 宏、延续、单子(monad)、组合子、夸克或其他任何东西。我在问什么特化对描述代码有用。

最佳答案

一个相当常见的是无限循环。我想这样写:

forever {
  // ...
}

关于loops - 有用的替代控制结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4293744/

相关文章:

php - 如何在php中删除数组键名称中的空格?

arrays - 迭代 Go 字符串以提取特定的子字符串

web - 新的 Gmail UI 是使用哪种前端编程语言构建的?

c++ - 是否有基于范围的类案例控制结构

loops - "single-entry"和 "single-exit"对于语句意味着什么?

java - 在 for 循环中访问对象/变量

r - 通过反向对子集数据

compiler-construction - 创建编程语言

c++ - 值和对象不同的编程语言

java - 在Python中修改条件表达式中的变量