我可以用cabal
构建并运行一个简单的Haskell
程序
module Main where
import System.Environment ( getArgs )
main :: IO ()
main = do
-- (input:_:_) <- getArgs
print "Hello Oren"
字符串
当 no arguments 被期望时,一切都很好:
$ cabal build 1>/dev/null 2>/dev/null
$ cabal run
Up to date
"Hello Oren"
型
似乎可以将参数传递给程序:
$ cabal run --help | sed -n '13,16p'
Extra arguments can be passed to the program, but use '--' to separate
arguments for the program from arguments for cabal. The executable is run in
an environment where it can find its data files inplace in the build tree.
型
但是,我似乎无法让它工作:
$ cabal run -- Oren 13 10
cabal: Cannot run the package Oren, it is not in this project (either directly
or indirectly). If you want to add it to the project then edit the
cabal.project file.
型
1条答案
按热度按时间zengzsys1#
你需要显式地调用你想要运行的目标。例如,如果你只有一个可执行文件,你可以使用
exes
作为简写:字符串
关于目标表单的cabal文档部分列出了编写目标的所有可能方法。