创建一个功能列表Oz Mozart

时间:2014-04-05 21:44:25

标签: oz mozart

我正在尝试创建一个函数列表是oz,此列表将作为输入粘贴到另一个函数。 有人可以帮我这个吗?

1 个答案:

答案 0 :(得分:0)

declare
fun{Op State FunctionList}
   case FunctionList of H|T then {Op {H State} T}
   [] nil then State
   end
end

X={Op 1 [fun{$ S} S+4 end
         fun{$ S} S*2 end
         fun{$ S} S-3 end
         fun{$ S} S*S end]}

{Browse X}

在这个例子中,函数Op执行一个带有参数状态的函数列表。 (((1 + 4)* 2)-3)^ 2 = 49

declare
fun{Power L U} %return a list of power function from ^L to ^U
   if L>U then nil
   else fun{$ X} {Pow X L} end | {Power L+1 U}
   end
end

FList={Power 0 10}

{Browse {Map FList fun{$ Fun} {Fun 2} end}}

在另一个例子中,功能Power产生一个功率函数列表[X¹X²X³...]。然后,对于列表中的每个函数,应用另一个函数。最后一个函数将每个函数作为参数,并将其作为参数给出...