SML(standard ML)入门学习(1)

本文是SML(Standard ML)的入门学习,介绍了命名常量、声明函数、标识符规则以及算术运算。通过示例展示了如何定义函数,如计算圆面积,并解释了类型约束的重要性。此外,还提到了SML中的整数和实数运算,以及标准库中的相关函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

采自《ML程序设计教程》

一、名字和函数

首先可以输入:

2+2;

ML回应:

> 4 : int

注意整数(int)和实数(real)不能在同一个表达式里出现。可以将整数加小数点解决(2-->2.0)。

1.命名常量

值的声名是以关键字val开始,以分号结束。

先用名字seconds命名60。

val seconds = 60;

val minutes = 60;

val hours = 24;

seconds*minutes*hours;

输出:

> 86400 : int

ML会把求得的值存入it。可以引用it。

it div 24;

> 3600 : int

名字里可以包含下划线。

2.声名函数

计算圆面积函数:

fun area (r) = 3.14*r*r;

函数声明以fun开始,area是函数的名字,r是形式参数,3.14*r*r是函数体。

函数在ML里也是值,ML也打印出值和类型:

> val area = fn : real -> real

area(2.0);

> 12.56 : real

下面的函数声名与之前的等价:

fun area r = 3.14*r*r;

3.Standard ML中的标识符

字母名字以字母开始,后可以跟随字母、数字、下划线和撇号。符号名字可由~!@#$%^&*+-:<=>?\'|组成。名字可以任意长。

4.算术运算

整数:一串数字,可由负号(~)开始。整数运算包含+、-、*、div和mod。遵循常规的优先级规则。

实数:可以使用E记法。如7E~2表示0.07。负的指数部分由一元减号(~)开始。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值