据我所知,在简单的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
-太奇怪了!
发布于 2013-01-19 00:14:54
标准ML允许您定义自己的任意操作符。这意味着当你混合使用中缀和前缀运算符时,它们之间需要有空格-否则它们会被解释为一个运算符。
换句话说,SML认为您试图在代码中调用不存在的=#操作符。如果您在=和#之间添加一个空格,它将正常工作。
https://stackoverflow.com/questions/14402843
复制相似问题