【发布时间】:2014-04-06 05:41:05
【问题描述】:
我尝试使用 foldr 来反转如下列表
fun rev(l) = foldr (a b => b ++ [a]) [] l;
但我收到错误:stdIn:4.25 错误:在 DARROW 发现语法错误
谁能帮忙指出错误?代码正确吗?
谢谢。
【问题讨论】:
我尝试使用 foldr 来反转如下列表
fun rev(l) = foldr (a b => b ++ [a]) [] l;
但我收到错误:stdIn:4.25 错误:在 DARROW 发现语法错误
谁能帮忙指出错误?代码正确吗?
谢谢。
【问题讨论】:
fn 开头。fn (a,b) 开头
++ 是 Haskell 中的 concat 运算符。在 SML 中是 @
总结如下:
fun rev(l) = foldr (fn (a,b) => b @ [a]) [] l;
这确实颠倒了一个列表!
【讨论】: