2012-03-27 64 views
0

我做的类型数量数据类型,它可以是一个int或真实的,我需要的功能,增加了2个号型的“数字”,而我在使用是什么问题用定义这样的语法的语法,我尝试了以下,但似乎没有工作。 代码我写的有以下几种,下面的代码是这样写的检查功能识别电量为数字类型:标准毫升的数据类型功能

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; 

回答

1

你需要模式匹配对你的价值构造IF,并采取一切适当

fun plus (I a) (I b) = I (a+b) 
    | plus (I a) (F b) = ... 
    | etc... 

这给你4案件。当然,你可以也仅2例做,如果你做的是一个解压缩到number一个real小助手功能,以涵盖所有,但int - int情况。

+0

我明白了,非常感谢塞巴斯蒂安 – 2012-03-28 04:08:40