【发布时间】:2012-04-07 23:19:59
【问题描述】:
我在 SML 中遇到了 2 个令人困惑的问题,希望有人能帮助我:
第一个是一个函数,它接受一个元素和一个列表并决定该元素是否存在于列表中,这是我尝试编写的代码:
fun member (e,L) = foldl (fn(a,b) => if (e = b) then true else false) false L;
但我得到 bool * 'a list --> bool 但我需要的是 ''a * ''a list --> bool
对于第二个,它也需要一个元素和一个列表,但返回的元素列表少于传递的元素。我不确定这是否应该通过 map 或 foldr/foldl 来完成。 有什么建议吗?
提前致谢:)
【问题讨论】:
-
请注意,
if (e = b) then true else false只是e = b本身的一种复杂表达方式。