我想实现一个函数,当f g a
是lambda函数并且f g
是参数时,它作为输入a
获取。该函数应执行以下操作:
fun foo f g a = if (g a) then (f a) else a;
> val foo = fn : ('a -> 'a) -> ('a -> bool) -> 'a -> 'a
是否可以用if-else
或其他方法替换andalso,orelse
?我想在不使用if-else
语句的情况下实现一个函数。
编辑:正在寻找一种组合两种功能的方法,其中一种是'a -> 'a
,而另一种是'a -> bool
。