2014-04-13 56 views
5

有沒有什麼方法可以在嚴格模式下創建命令行程序?由於Hack的嚴格模式不允許在函數之外聲明,所以我不能調用我的main函數。嚴格模式下的Hacklang命令行程序

(這是相當一個理論問題,因爲它很容易被具有非嚴格的文件來調用main函數來規避這個問題。)

+1

好問題,我剛剛從CLI開始黑客,這是我的第一個問題。 – robbmj

回答

5

它目前還無法寫一個項目(命令行程序或否則)由於此限制,在嚴格模式下100%。你確實需要在頂層(「pseudomain」)中有一些引導代碼,嚴格的說現在是不允許的。其原因是頂級代碼基本上不可能靜態類型檢查,因爲所有東西都是全局的,並且可以隨時通過任何代碼在幕後進行更改。

然而,最終的結果是愚蠢的,我們最終想要修復的東西 - 例如,沒有理由阻止對沒有參數的函數進行單個調用,也就是說,您需要立即退出僞矩陣並轉換成函數。

+2

感謝您的回答。 「單個函數調用不帶參數」 - 請注意,我還需要傳遞$ argv。 – Csq