我试图在SML中使用foldr或foldl建立一个函数,它将返回列表中所有元素的逻辑或逻辑。 我试图以这种方式,使用和和或: fun band x = foldr (op and) true x;
fun bor x = foldr (op or) false x;
而且还使用andalso和否则别指望。不过,我不断收到错误消息,例如: Error: unbound variable or
该函数将实数的列表保存到文件: fun writeReal (real, filename) =
let val fd = TextIO.openOut filename
val _ = map (fn i => TextIO.output (fd, Real.toString i^"\r\n")) real
val _ = TextIO.closeOut fd
我注意到在SML中有两种定义函数的方法。例如,如果你把add函数,这是两个方面: val add = fn : int -> int -> int
第二个创建函数类型: fun add x y = x+y;
fun add(x,y) = x+y;
与第一种方法创建函数类型 val add = fn : int * int -> int
这两种类型对于相同功能有什么区别?还有为什么有