haskell - 如何直接从命令行在 cabal v2-repl 中运行 GHCi 语句?
问题描述
我怎样才能ghci -e "print 123"
复制cabal v2-repl
?
我在cabal v2-repl --help
没有运气的情况下搜索了“表达”或“陈述”。
解决方案
最简单的方法是使用外壳管道功能。看:
% cabal v2-repl <<< ':type zip'
...
λ zip :: [a] -> [b] -> [(a, b)]
λ Leaving GHCi.
这种<<<
表示法,在sh
脚本解释器中,意味着带引号的字符串被发送到命令的标准输入,然后是换行符,然后是文件结尾。
还有其他方法。例如,如果您希望提供更多行,则可以使用所谓的“here-doc”:
% cabal repl <<EOF
:type zip
:type fst
EOF
该<<<
符号是单行“here-doc”的简写。
通常,程序可能知道其标准输入是终端(假设是实时用户)还是文件(heredoc
假装是),并且行为不同。但通常它会以任何一种方式工作,并且,如果您可以将内容发送到其标准输入,您就可以将其自动化。
推荐阅读
- python-3.x - 我的 .ipynb 只是显示为原始代码,我无法编辑任何内容
- xcode - 如何正确设计 macOS 屏幕保护程序?
- javascript - 为什么 onsubmit 事件处理程序在 php 解释器中不起作用
- sql - 复制excel单元格引用的功能(或多个视图的计算)
- javascript - 状态更新后不重新渲染表格组件
- cmake - 如何获取导出集中的目标列表?
- java - vs代码不支持JDK 1.8?
- keras - 我应该如何在结合 CNN 和 LSTM 的模型中拟合样本数据
- netlogo - 关于 Netlogo 的一般问题
- python - Python nlp spacy OSError:[E050]找不到模型'de'