Thr*_*eFx 1 language-agnostic goto comefrom
我只是想知道讨厌的goto陈述是否和陈述一样强大comefrom?在我看来,他们的能力可能相等,但我并不完全确定.是否有任何形式证明它们同样强大(或不同等强大)?
对于任何从未听说过的人:comefrom有点颠倒过来goto:
comefrom doom;
WriteLine("I will never stop executing!");
doom:
Run Code Online (Sandbox Code Playgroud)
comefrom比...严格更强大goto.
每个程序goto都可以通过机械方式转换为等效的comefrom程序,并通过goto相应的方式替换每个程序comefrom.
反之则不然.这个程序没有goto唯一的等价物:
doom:
comefrom doom;
WriteLine("I will never stop executing!");
goto doom;
comefrom doom;
WriteLine("Guess my time has come!");
Run Code Online (Sandbox Code Playgroud)
此程序打印第一个短语未知次数,然后是第二个短语,然后退出.使用缺乏的传统编程语言无法实现这种非确定性comefrom.