SML/NJ编写一个以匿名函数为参数的筛选函数

SML/NJ编写一个以匿名函数为参数的筛选函数,sml,smlnj,ml,Sml,Smlnj,Ml,我被要求用SMLNJ写一个过滤函数 filter: ('a -> bool) * 'a list -> 'a list 它将函数f和列表L作为参数,并返回一个新列表 包含l的元素l,使得f(l)为真 例如: filter(fn(x => x mod 3 = 0), [1,2,3,4,5,6,7,8,9,10]) returns [3, 6, 9] 由于缺少ML文档,我在这个函数上被困了几个小时 我想知道如何将第二个参数传递给第一个参数

我被要求用SMLNJ写一个过滤函数

filter:  ('a  ->  bool)  *  'a  list  ->  'a  list
它将函数f和列表L作为参数,并返回一个新列表 包含l的元素l,使得f(l)为真

例如:

filter(fn(x  =>  x  mod  3  =  0),  [1,2,3,4,5,6,7,8,9,10])
returns  [3,  6,  9]
由于缺少ML文档,我在这个函数上被困了几个小时

我想知道如何将第二个参数传递给第一个参数

fun filter (f, []) = []
  | filter (f, x::xs) = if f x
                        then x::(filter (f , xs))
                        else filter (f , xs);
我不太清楚你把第二个论点传给第一个论点是什么意思

fun filter (f, []) = []
  | filter (f, x::xs) = if f x
                        then x::(filter (f , xs))
                        else filter (f , xs);
我不太清楚你把第二个论点传给第一个论点是什么意思

fun filter (f, []) = []
  | filter (f, x::xs) = if f x
                        then x::(filter (f , xs))
                        else filter (f , xs);