0

据我所知,在 Simple ML 中,元组是通过#ns 访问的,以前我看到它可以工作,但现在它不起作用!

我已经尝试了以下行:

val a =#2 ("one", "2", "three")

但它给了我以下错误:

first.sml:25.26 Error: syntax error found at EOF

uncaught exception Compile [Compile: "syntax error"]
  raised at: ../compiler/Parse/main/smlfile.sml:15.24-15.46
             ../compiler/TopLevel/interact/evalloop.sml:44.55
             ../compiler/TopLevel/interact/evalloop.sml:296.17-296.20
-

奇怪的!

4

1 回答 1

1

标准 ML 允许您定义自己的任意运算符。这意味着当您混合使用中缀和前缀运算符时,它们之间需要有空格 - 否则它们将被解释为一个运算符。

换句话说,SML 认为您正在尝试调用代码中不存在的=#运算符。如果在=和之间添加一个空格#,它将正常工作。

于 2013-01-18T16:14:54.263 回答