如果我使用GHC编译可执行文件cabal build,有没有办法.cabal从main函数内部获取项目文件中所述的版本号?
例如,我们可以使用以下命令获取主程序名称:
import System.Environment
main = do
progName <- getProgName
...
Run Code Online (Sandbox Code Playgroud)
我们能以某种方式编写类似的函数getProgVer来获取cabal定义的版本号吗?
是的你可以:
import Paths_PKGNAME
main = print version
Run Code Online (Sandbox Code Playgroud)
Cabal将创建一个模块Paths_PKGNAME(PKGNAME包的名称),其中包含包的版本.用户指南中的更多信息.