5

有什么方法可以在 Hack 的严格模式下创建命令行程序?由于 Hack 的严格模式不允许函数外的语句,我不能调用我的main函数。

(这是一个理论上的问题,因为很容易通过使用非严格文件来调用主函数来规避这个问题。)

4

1 回答 1

5

由于此限制,目前无法在 Hack 严格模式下 100% 编写项目(命令行程序或其他)。您确实需要在顶层(“pseudomain”)中有一些引导代码,这是目前严格不允许的。原因是顶级代码基本上不可能进行静态类型检查,因为一切都是全局的,并且可以随时在后台通过任何代码进行更改。

然而最终结果是愚蠢的,我们最终想要修复的东西——例如,没有理由阻止对没有参数的函数的单次调用,即,正是你需要立即摆脱伪主并进入功能。

于 2014-04-13T05:39:53.243 回答