我如何直接从命令行 运行 cabal v2-repl 中的 GHCi 语句?
How can I run a GHCi statement in cabal v2-repl directly from command line?
如何在 cabal v2-repl
中复制 ghci -e "print 123"
?
我在 cabal v2-repl --help
中搜索了 "expression" 或 "statement",但没有成功。
最简单的方法是使用 shell 管道功能。参见:
% cabal v2-repl <<< ':type zip'
...
λ zip :: [a] -> [b] -> [(a, b)]
λ Leaving GHCi.
这个<<<
符号,在sh
脚本解释器中,意味着引用的字符串被发送到命令的标准输入,后面是换行符,然后是文件结尾。
还有其他方法。例如,如果你想提供更多行,你可以使用所谓的 "here-doc":
% cabal repl <<EOF
:type zip
:type fst
EOF
<<<
表示法是 shorthand 单行 "here-doc"。
一般来说,程序可能知道它的标准输入是终端(假设,实时用户)还是文件(heredoc
假装是),并且行为不同。但通常它会以任何一种方式工作,而且,如果你可以将东西发送到它的标准输入,你就可以自动化它。
如何在 cabal v2-repl
中复制 ghci -e "print 123"
?
我在 cabal v2-repl --help
中搜索了 "expression" 或 "statement",但没有成功。
最简单的方法是使用 shell 管道功能。参见:
% cabal v2-repl <<< ':type zip'
...
λ zip :: [a] -> [b] -> [(a, b)]
λ Leaving GHCi.
这个<<<
符号,在sh
脚本解释器中,意味着引用的字符串被发送到命令的标准输入,后面是换行符,然后是文件结尾。
还有其他方法。例如,如果你想提供更多行,你可以使用所谓的 "here-doc":
% cabal repl <<EOF
:type zip
:type fst
EOF
<<<
表示法是 shorthand 单行 "here-doc"。
一般来说,程序可能知道它的标准输入是终端(假设,实时用户)还是文件(heredoc
假装是),并且行为不同。但通常它会以任何一种方式工作,而且,如果你可以将东西发送到它的标准输入,你就可以自动化它。