Ocaml学习笔记 语句

Ocaml学习笔记 语句

一、 ;;终结符

在Ocaml中使用;;作为终结符,表示一个赋值语句,一个函数,一个模块或者一个类的终结的。在Ocaml的toplevel中只有输入;;终结符,才会对你输入的程序进行编译,然后执行,输出结果。

二、 let 绑定

BNF定义:

let-binding::= pattern = expr

value-name  { parameter }  [: typexpr] = expr

在Ocaml中是通过let绑定来进行变量的赋值和函数的定义的。

使用示例如下:

1、变量赋值

# let a = 123;;

val a : int = 123

2、函数定义

# let square x = x *. x;;

val square : float -> float =

# square 5.;;

- : float = 25.

在上例中我们用let绑定定义了一个square函数来计算一个浮点数的平方

三、 赋值语句

1、在let绑定中我们演示了一个变量声明并赋值的例子。例子声明了一个全局变量a,并对a进行了赋值,

2、但在Ocaml的函数内部,还有局部变量的概念,同样需要声明一个局部变量,并对局部变量进行复制,同全局变量不同的是需要在赋值结束是要加一个in,用来表明这是一个局部变量

示例如下

# let square x =

let b = x in

b *. b;;

val square : float -> float =

# square 5.;;

- : float = 25.

四、 引用

1、Ocaml是一个常量语言,常量语言的意思就是如果一个变量如果已经定义了,那么它的值在运行时是不可以改变的。这点比较类似java。

2、和java中相似,如果一个变量的值改变了,实际上是重新创建了一个变量,然后将变量指向新创建的变量。

3、同java类似,复杂数据是应用传递的,因此我们可以修改复杂数据的数据成员来改变复杂数据的值

4、Ocaml通过重载操作符的方式,创造了一个引用的概念。

引用的使用如下:

引用的定义,要使用引用,必须用ref关键字来表明取得是引用:

# let a = ref 0;;

val a : int ref = {contents = 0}

引用的取值,要获取变量引用的值,必须通过!操作符来获取引用的内容:

# !a;;

- : int = 0

# a;;

- : int ref = {contents = 0}

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值