我正在 Windows 上的 GHCi 中试用 Haskell。在我正在学习的教程中,函数名称包含在反引号中:x `mod` 7
. 但是,我无法在 GHCi 中输入字符。
反引号字符的 ASCII 值为 096,但 GHCI 不允许Alt+号插入任何字符。复制/粘贴也不起作用。我该怎么办?
如果您的键盘没有,我不知道如何向 ghci 发送反引号。但是这个小技术问题不应该阻止你尝试 Haskell!
你可以用 Haskell 编程而不用反引号来f a b
代替a `f` b
. 在您的示例中,mod x 7
.
您可以将键盘布局设置为 us-american 以进行编程。虽然在物理键盘上找到带有错误标签的键需要一些练习,但使用 、 和更易于访问可能会很方便[
,而且]
在您的情况下,完全可以使用反引号。{
}
您可以从剪贴板粘贴反引号。(从命令窗口的设置中激活“快速编辑模式”和“粘贴模式”,然后使用鼠标右键粘贴)。
也许在命令窗口周围使用包装器会有所帮助?我有时使用 Console2,有时M-x shell
在 Emacs 中使用。
也许 WinGHCi 有帮助?它至少支持复制和粘贴。
有关如何向 ghci 添加自定义键绑定的信息,请参阅 Ørjan Johansen 的回答。
祝 Haskell 好运!
@Toxaris 在他的回答中给出了一些建议,但在评论中他还提到了配置 GHCi 的 readline 版本(称为haskeline
)的可能性。并且 indead 它允许自定义键绑定。所以我决定测试一下。
文档说将自定义放在 中~/.haskeline
,这不是 Windows 路径,但它可能会转换为返回.haskeline
的任何目录System.Directory.getHomeDirectory
。(vim
也可以直接在 Windows 上编辑该路径,但后来我才意识到。)所以我将以下内容放入C:\Users\Ørjan\.haskeline
:
bind: meta-' `
现在我可以`
按alt-'
!