SML元组访问

时间:2013-01-18 16:06:55

标签: sml

据我所知,在Simple ML中,元组正在通过#n访问,之前我已经看到它工作但现在它不起作用!

我尝试了以下这一行:

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
-

怪异!

1 个答案:

答案 0 :(得分:1)

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

换句话说,SML认为您试图在代码中调用不存在的=#运算符。如果您在=#之间添加空格,则可以正常使用。