Scheme Programming language I
2013-09-06 05:23
357 查看
Scheme是一种函数式程序设计语言,其中Common Lisp和Scheme是Lisp语言的两个主要分支。
Scheme的原称为Schemer.
1. What defines Scheme?
Scheme是第一类支持函数性编程(Functional Programming)的语言。所谓的函数行编程既是:
当用Scheme编程的时候,应该尽量避免"Side-Effects",当已给变量赋值以后,就不应该更改
该变量的值。
函数性编程另外一个特点即是:函数比其在其他编译性语言中的功能更强大。在Scheme中,函数式
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,同时做了剩法运算。
Scheme的原称为Schemer.
1. What defines Scheme?
Scheme是第一类支持函数性编程(Functional Programming)的语言。所谓的函数行编程既是:
当用Scheme编程的时候,应该尽量避免"Side-Effects",当已给变量赋值以后,就不应该更改
该变量的值。
函数性编程另外一个特点即是:函数比其在其他编译性语言中的功能更强大。在Scheme中,函数式
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,同时做了剩法运算。
相关文章推荐
- The scheme programming language--continuation
- Scheme Programming language II
- The scheme programming language--General description
- 需要中文版《The Scheme Programming Language》的朋友可以在此留言(内附一小段译文)
- The scheme programming language--CPS
- Computer, Program, Programming language, Programming language theory ----wikipedia
- The C++ Programming Language 学习笔记 第5章 指针、数组和结构
- The C++ Programming Language 学习笔记 第6章 表达式和语句
- Home at Last, or, The Last Programming Language I Will Ever Learn: LISP (Clojure)
- 摘抄“GPU Programming And Cg Language Primer 1rd Edition” 中文 名“GPU编程与CG语言之阳春白雪下里巴人”
- Can Your Programming Language Do This?
- Code Conventions for the JavaScript Programming Language
- Getting Started - The Go Programming Language
- The C++ Programming Language第二章
- 思考c++编程-译自c++ programming language 1.7节
- 《The C Programming Language》读书笔记4
- Programming Language Rankings——http://githut.info/
- Language Oriented Programming : The Next Programming Paradigm
- The C# Programming Language Notes II
- 做C Programming Language的习题,突发奇想研究如何消除任意多空格或\t,并把格式转换为每个单词占一行