广州SEO百度排名优化_做百度排名行业领先-方兴SEO一站式SEO服务,帮助企业网站快速排名,快速上首页!

主页 > 百度排名 > Scheme 语言概要(上)(3)

Scheme 语言概要(上)(3)

首页 2019-11-08 21:56 百度排名 89 ℃


通过上面的操作,相信你已初步了解了过程的用法。既然过程是一种数据类型,所以将过程作为过程的参数是完全可以的。以下过程为判断参数是否为过程,给出一个参数,......

通过上面的操作,相信你已初步了解了过程的用法。 既然过程是一种数据类型,所以将过程作为过程的参数是完全可以的。以下过程为判断参数是否为过程,给出一个参数,用 procedure? 来判断参数是否为过程,采用if结构(关于if结构见下面的介绍):

向量(vector)

点对(pair)

再看下面的操作:

这是最简单的复合数据类型,同是它也是其它复合数据类型的基础类型,如列表类型(list)就是由它来实现的。

(类型? 变量)

其它型

Scheme用做脚本语言

Scheme语言可以象sh,perl,python等语言那样作为一种脚本语言来使用,用它来编写可执行脚本,在Linux中如果通过Guile用Scheme语言写可执行脚本,它的第一行和第二行一般是类似下面的内容:

本文的目的是让有编程基础(那怕是一点点)的朋友能尽快的掌握Scheme语言的语法规则,如果您在读完本文后,发现自己已经会用Scheme语言了,那么我的目的就达到了。

传值调用(passing-by-value)

实数型(real)可以定义为 (define f 22/7)

guile> (define v (vector 1 2 3 4 5)) guile> v #(1 2 3 4 5) guile> (vector-ref v 0) ; 求第n个变量的值 1 guile> (vector-length v) ; 求vector的长度 5 guile> (vector-set! v 2 "abc") ; 设定vector第n个元素的值 guile> v #(1 2 "abc" 4 5) guile> (define x (make-vector 5 6)) ; 创建向量表 guile> x #(6 6 6 6 6)

2. 复合数据类型

可以说复合数据类型是由基本的简单数据类型通过某种方式加以组合形成的数据类型,特点是可以容纳多种或多个单一的简单数据类型的数据,多数是基于某一种数学模型创建的。

(define 过程名 ( lambda (参数 ...) (操作过程 ...)))

而列表的实际内容则为:(a b c d)

此时过程add只在fix过程内部起做用,这事实上涉及了过程和变量的绑定,可以参考下面的关于过程绑定(let,let* 和letrec)的介绍。

我把它译成"点对",它是一种非常有趣的类型,也是一些其它类型的基础类型,它是由一个点和被它分隔开的两个所值组成的。形如: (1 . 2) 或 (a . b) ,注意的是点的两边有空格。

guile> (car ls) 1 guile> (cdr ls) (2 3 4)

这个列表可以由pair定义为如下形式:

词法定界(Lexical Scoping)

+ , - , * , / 和 expt (指数运算)

算术运算

在Scheme语言中有三种相等的定义,两个变量正好是同一个对象;两个对象具有相同的值;两个对象具有相同的结构并且结构中的内容相同。除了上面提到的符?#25490;?#26029;过程和eqv?外,还有eq?和equal?也是判断是否相等的过程。

共4页:

上一页

当前位置:主页 > 百度排名 > Scheme 语言概要(上)(3)

搜索
网站分类
标签列表
?

18025383583

重庆时时彩走势图
问道手游买游戏币赚钱攻略 销售那一块最赚钱 航站楼商铺赚钱 维秘赚钱排行榜 注册赚钱直接提现的 股票行情今天 老公出去赚钱老婆在家无聊 赚钱宝亮红灯 塞尔达传说 旷野之息 赚钱 颖宝赚钱 中国银行股票行情 浦发银行股票 股票分析师证怎么考 财通股票融资利息一般多少 土建哪块最赚钱 常年卖香蕉赚钱吗