OCaml:列表函数中的错误

时间:2017-10-07 19:51:04

标签: syntax-error ocaml

您好我正在使用Ocaml中的函数列表我收到此错误的原因是什么?

Error: Syntax error
# let headOf lst=
  match lst with
  |??[ ] -> failwith "harun"
Warning 3: deprecated: ISO-Latin1 characters in identifiers

1 个答案:

答案 0 :(得分:0)

如果您的输入编码是ISO-LATIN-1,那么您有时正在键入非中断空格。这些是非ASCII字符,看起来像空格,字符代码为160.您应该将它们全部删除并替换为普通空格(字符代码32)。

如果您使用的输入系统有时会在没有特别要求的情况下输入不间断的空格,您应该使用不同的输入系统来处理OCaml: - )

<强>更新

事实上,如果我输入Option-Space(macOS 10.12.4上的iTerm2),我的输入系统输入一个不间断的空间。它看起来像这样:

# let f x��= 14;;
Warning 3: deprecated: ISO-Latin1 characters in identifiers
Error: Illegal character (\160)

在我的情况下,解决方案永远不会输入Option-Space。只需键入空格(无选项键)。