3

我正在使用山狮。我打开终端,然后我加载ghci,我写:l,然后我尝试通过用鼠标将它从我的桌面拖动到终端来加载我的文件(它在我的桌面上),所以我知道位置是正确的,我得到了这个,提前谢谢你:

Prelude> :l  /Users/myusername/Desktop/Test.hs 
[1 of 1] Compiling Main             ( /Users/myusername/Desktop/Test.hs, interpreted )

/Users/myusername/Desktop/Test.hs:1:7: parse error on input `\'
Failed, modules loaded: none.
Prelude> 

编辑:我试图打开的文件(用文本编辑编写)是:

double :: Int -> Int
double x = x + x
4

3 回答 3

10

TextEdit不是纯文本编辑器(与 Windows 记事本不同),因此默认情况下,它会在您的文件中包含 GHC 显然不满意的格式垃圾。显然,如果设置正确,您仍然可以使用 TextEdit,但建议使用适当的编程编辑器。像任何 Unix 一样,OSX 带有vi风格,需要一些时间来适应,但并不难,而且运行良好;至少您可以使用它来检查文件中的真实内容。

vi /Users/myusername/Desktop/Test.hs

或者,甚至更简单

cat /Users/myusername/Desktop/Test.hs

只会为您提供文件的确切内容。

要选择最好使用的编辑器,请考虑这个问题

于 2013-09-18T20:18:33.830 回答
2

我在 Windows 上尝试了相同的过程,并且效果很好。

您是否尝试过进入 GHCi 中的目录并打开它?

该程序将是:

Prelude> :cd /Users/myusername/Desktop/
Prelude> :l Test.hs

对我来说,复制/粘贴您发布的代码,这两种情况都适用于 Windows。

于 2013-09-18T20:10:22.527 回答
1

a 的存在\意味着您从 TextEdit 获得了一个 RTF(富文本)文件。RTF 是 TextEdit 的默认设置,它是一种使用文本字体、大小等信息对纯文本进行注释的格式。

我推荐 vi 或 emacs,但要解决您的直接问题,请在 TextEdit 中打开文件并按 Cmd-Shift-t 将文件转换为纯文本。

于 2013-09-20T01:46:27.963 回答