ml数据类型(具有基本功能)如何制作?
|
我有这个数据类型
datatype e = X | Const of int | P of e*e | S of e*e | M of e*e | D of e*e;
和这个程序
val rec evl = fn (Const k)=>(fn x=>k)| X=> (fn x=>x)| P(e1,e2)=> (fn x=> (evl e1 x)+(evl e2 x))| S(e1,e2)=> (fn x=> (evl e1 x)-(evl e2 x))| M(e1,e2)=> (fn x=> (evl e1 x)*(evl e2 x))| D(e1,e2)=> (fn x=> (evl e1 x)/(evl e2 x));
如何扩展此数据类型和evl过程来做:
-val addsub = evl(A(X(1),X(2),X(3),S(X(4),X(5))));
addsub(4,5,2,9,8)返回它= 12(4 + 5 + 2 +(9-8))
P = +,S =-,M = *,D = /
不仅是X(5),我还需要X(n)...?
没有找到相关结果
已邀请:
1 个回复
裸雷胜檀哭
例如:
将返回
。 如果仍要使用S和D进行操作,则可以从上面的代码片段中推断出来。