问题描述
对于标准ML(SMLNJ),对于文件夹和foldl函数,使用乘法运算符的正确方法是什么?
使用foldr (op *) 1 [1,2,3];
会导致错误
新泽西州标准ML v110.78 [内置:2017年8月31日星期四]
- stdIn:1.12错误:无匹配的结束评论
- stdIn:1.9-1.18错误:语法错误:删除OP INT LBRACKET
看来*还有其他重载。
解决方法
对于SMLNJ,空格通常无关紧要。但是对于乘法(星号)操作 确实如此 。
请确保在星号和右括号* )
之间有一个空格,否则它将被解释为未打开的注释*)
。
foldr (op * ) 1 [1,2,3];