在一個項目中,我使用了一個包含我在項目其餘部分中使用的全局(常量初始化)的模塊。我選擇將它們放入模塊中以避免大量參數傳遞。問題是這個模塊必須在運行時用程序執行的參數進行初始化。函數式編程中的模塊初始化
這怎麼可能在功能範例中完成,例如像Haskell這樣的語言?
編輯:
更確切地說,我在命令式語言(ADA)的代碼,我的項目,這就是爲什麼我可以使用包含在運行時初始化變量的模塊,然後用作全局常量(用內聯getter)。但是,對函數式編程感興趣,我想知道如何在這個範例中獲得相同的結果;我的意思是在整個代碼的其餘部分(使用全局常量),模塊數據位於存儲器的數據部分,甚至能夠分別初始化模塊的不同「常量」等等的光特徵。
你用['getArgs'](https://hackage.haskell.org/package/base-4.8.2.0/docs/System-Environment.html#v:getArgs)閱讀'main'中的參數並且把它們傳遞出去 - 如果你想變得很花哨,你可以使用Read/StateMonad(變形金剛)等等。當然你不能做的是在你的模塊中使用常量值 - 因爲這個問題是更多你必須更具體的真正廣泛 – Carsten
一些功能性語言(但不是Haskell)提供了可以使用動態綁定進行初始化的一流模塊。 – dfeuer
@Carsten你說得對,我編輯了我的帖子,有更具體的提問。 – olp