【发布时间】:2011-08-24 23:56:01
【问题描述】:
我最喜欢的所有语言都有一个goto 命令。也就是你可以创建一个标签,然后再打断程序的流程去到这个标签。这种结构更有用的应用之一是创建一个无限循环,如下所示:
start:
goto start
不幸的是,如果我正确理解编译器错误,我就不能在 F# 中使用相同的语法。那么,既然似乎原生不支持,那如何在 F# 中实现goto 命令呢?
毫无疑问,F# 是一种足够强大的语言,可以实现如此简单的功能。其他语言,比如Javascript,原生不支持goto,通过插件实现still able to implement it。
另外,我觉得F#作为函数式编程范式中的一种语言,应该可以支持更高级别的gotos:可以将gotos传递给gotos。
【问题讨论】:
-
顺便说一句:这是在开玩笑吗?我看看你的代表,你肯定知道这一点!
-
我和你在一起——跳到嵌套闭包的中间听起来很有趣!
-
唉,
goto甚至不是 reserved 供将来使用。我担心没有计划实施这个急需的功能。 -
Lambda:终极 Goto repository.readscheme.org/ftp/papers/ai-lab-pubs/AIM-443.pdf
-
我觉得这里有一个笑话......