我在思考如何利用 Oz 中的记录元素进行模式匹配时遇到了一些麻烦。下面是我的代码
declare
fun {Eval X E}
case X
of int(N) then N
[] var(X) then E.X
[] mul(X Y) then X*Y
[] add(X Y) then X+Y
end
end
end
{Eval add(var(a) mul(int(3) var(b))) env(a:2 b:4)}
这是我必须使用的输入,var(a) 应该从输入中的 env 记录返回 2,(并且 var(b) 返回 4),我只是无法弄清楚任何事情。