有时当我在编程时,我发现某些特定的控制结构对我来说非常有用,但在我的编程语言中并不直接可用。我认为我最常见的愿望是“ 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/