Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
这是一个只检查前两个列表元素的柯里化函数。
fun inn list f = f(hd(list), hd(tl(list)));
我想知道的是我可以通过其他列表元素的任何方式。我不知道我如何使它递归。有谁能够帮助我?
第一句话:永远不要使用hdand tl。请改用模式匹配。
hd
tl
我现在不知道你想让你的函数做什么,但这里有一个迭代列表并将 f 应用于每个元素的函数:
fun iter f l = case l of [] => () | x::xs => (f x; iter f xs)
可以更简洁地写成
fun iter f [] = () | iter f (x::xs) = (f x; iter f xs)
值得一提的是,这个功能在标准基础库中可用,名称为List.app.
List.app