Function 标准ml数据类型函数
我创建了一个数字类型的数据类型,可以是int或real,我需要创建一个函数来添加类型“number”的两个数字,我遇到的问题是定义这种语法的语法,我尝试了以下方法,但似乎都不起作用。 我编写的代码如下所示,以下代码是这样编写的,用于检查函数是否识别n为number类型:Function 标准ml数据类型函数,function,types,union,sml,ml,Function,Types,Union,Sml,Ml,我创建了一个数字类型的数据类型,可以是int或real,我需要创建一个函数来添加类型“number”的两个数字,我遇到的问题是定义这种语法的语法,我尝试了以下方法,但似乎都不起作用。 我编写的代码如下所示,以下代码是这样编写的,用于检查函数是否识别n为number类型: fun plus n:number = "type number"; fun plus n:I = "type int of number"; fun plus n:number.I = "type int of numbe
fun plus n:number = "type number";
fun plus n:I = "type int of number";
fun plus n:number.I = "type int of number";
但似乎都不起作用,我写的语法是正确的还是错误的?
谢谢
我写的数据类型号是:
datatype number =
I of int
| F of real;
您需要对值构造函数
I
和F
进行模式匹配,并执行任何适当的操作
fun plus (I a) (I b) = I (a+b)
| plus (I a) (F b) = ...
| etc...
这给你4箱。当然,如果你制作一个小的助手函数,将一个数字
解包成一个实数
,以包含除int
-int
之外的所有情况,你也可以只使用2个案例