Scheme是一种函数式程序设计语言,其中Common Lisp和Scheme是Lisp语言的两个主要分支。编程
Scheme的原称为Schemer.ide
1. What defines Scheme?函数
Scheme是第一类支持函数性编程(Functional Programming)的语言。所谓的函数行编程既是:设计
当用Scheme编程的时候,应该尽可能避免"Side-Effects",当已给变量赋值之后,就不该该更改数学
该变量的值。it
函数性编程另一个特色便是:函数比其在其余编译性语言中的功能更强大。在Scheme中,函数式io
First-Class Object,比如整数在C语言中的功能,能够将函数传递给函数,从其余函数中返回函数,编译
在变量中存储函数、在运行时,做为表达式计算。程序设计
2.Scheme Programming / Simple Math变量
加法操做
> (+ 2 4)
6
减法操做
>(- 9 8)
1
剩法操做
>(* 7 8)
56
除法操做
>(/ 8 9)
0.8
3. Scheme Expression有一下两点重要属性:
(1).Scheme Expression能够嵌套,由此引出一个概念,Substitional Model。
(2).Some Procedure能够有可变的参数数量。
4.Scheme中的数学函数
(1) 指数函数
>(expt 2 10)
1024
(2) 平方根函数
>(sqrt 4)
2
5.在Scheme中定义函数
关键字lambda用来声明一个函数或者过程(Procedure),例如:
(lambda (x) (* x x))
定义了一个计算一个数取平方的函数,该函数有一个参数x。
这里虽然定义了一个函数,可是该函数没有一个函数名字以供其余函数调用。
若是想让该函数能够被其余函数调用,应该作以下从新定义:
(define square (lambda (x) (* x x)))
6.Scheme中定义变量
Scheme中定义变量有以下两种方法:
(1) 用define来定义变量,例如:
(define x 2)定义一个变量x,x的值为2。
通常形式为:(define variable_name variable_value)
(2)用let 来定义变量,例如:
(let (2 x) (3 y) (* x y))
定义x的值为2,y的值为3,同时作了剩法运算。