【发布时间】:2016-02-01 03:35:39
【问题描述】:
我最近在使用 SML,我正在尝试解决一个问题。 我应该创建一个接受 int 列表并返回甚至 int 列表的函数, 我已经创建了它:
fun evens [] = [] |
evens [x] = [x] |
evens(x::xs) =
case x mod 2 of
0 => x::evens xs |
1 => evens xs;
这给出了正确的结果,但我需要使用foldr
这就是我想出的:
fun evens [] = [] |
evens(x::xs) =
case x mod 2 of
0 => foldr (op ::) evens xs [x] |
1 => evens xs;
但它不起作用,我仍然对在这种情况下如何使用 foldr 感到困惑。
有什么建议吗?
【问题讨论】: