我想知道如何创建数据类型,这有助于评估字符串 包含(“1 + 2”)
我正在考虑制作数据类型
datatype opp = oper of string;
datatype numm = numb of int;
datatype calc = opp | numm;
答案 0 :(得分:2)
我会说
datatype expr = Number of int | Add of expr * expr;
与
一起 fun calc(Number(x)) = x
| calc(Add(x, y)) = calc(x) + calc(y);
会做到这一点。但是,一旦开始添加更多运算符,您需要考虑关联性和运算符优先级。