(let ((x 1)
(y x))
(+ x y))
(let* ((x 1)
(y x))
(+ x y))
这两段代码的效果是不同的,前一个在初始化y的时候用的x是全局的x,假设前面已经定义了一个全局的x;
后一个在初始化y的时候用的是局部的x,这种情况和c语言类似;
顺便说一句,在scheme中可以定义局部过程,反正要记住,过程这个类型和整型什么的没什么区别,就是一种数据类型。
(let ((x 1)
(y x))
(+ x y))
(let* ((x 1)
(y x))
(+ x y))
这两段代码的效果是不同的,前一个在初始化y的时候用的x是全局的x,假设前面已经定义了一个全局的x;
后一个在初始化y的时候用的是局部的x,这种情况和c语言类似;
顺便说一句,在scheme中可以定义局部过程,反正要记住,过程这个类型和整型什么的没什么区别,就是一种数据类型。
转载于:https://my.oschina.net/mayqlzu/blog/94847