Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SML元组访问_Sml - Fatal编程技术网

SML元组访问

SML元组访问,sml,Sml,据我所知,在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.sm

据我所知,在Simple ML中,元组是通过
#n
s访问的,以前我见过它工作,但现在它不工作了

我试过下面这句话:

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
-

奇怪

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


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

我假设编译器将
=#2
解释为一个符号名(#和=也可以是标识符的一部分)。尝试在
=
#
字符之间留出空格。