[随笔分类]Scheme
xyxieqing
这个作者很懒,什么都没留下…
展开
-
(译)Scheme简明教程1-序及进入Scheme编程
Scheme简明教程序言:这是一份Scheme编程语言的入门教程。旨在作为一份快速上手指南,以便初学者在步入更广更深的正式课程前可以获取该语言上手所需的应用知识(入门后,请读者更深入的学习Scheme)。本教程将引导读者写出简明实用的Scheme代码。尽管不会覆盖到Scheme语言的方方面面,但我们也不会避开这门语言中的很有用处但让人觉得难理解、生涩、罕见、不标准、甚至奇怪的部分。...2009-11-26 00:02:00 · 285 阅读 · 0 评论 -
(译)Scheme简明教程2-数据类型之简单数据类型
第二章 数据类型数据类型是一组相关的值信息集。各种数据类型互相联系,而且它们通常是具有层次关系。Scheme拥有丰富的数据类型:有一些是简单的类型,还有一些复合类型由其它的类型组合而成。2.1 简单数据类型Scheme中的简单包含 booleans (布尔类型) , numbers (数字类型), characters(字符类型) 和 symbols(标识符类型)。2...2009-11-28 11:47:00 · 184 阅读 · 0 评论 -
(译)Scheme简明教程3-数据类型之复合数据类型
2.1 复合数据类型复合数据类型是以组合的方式通过组合其它数据类型数据来获得。2.2.1 Strings字符串类型是由字符组成的序列(不能和symbols混淆,symbols仅是由一组字符来命名的简单类型)。你可以通过将一些字符包上闭合的双引号来得到字符串。Strings是自运算类型。"Hello, World!"=> "Hello, World!"...2009-11-29 20:35:00 · 163 阅读 · 0 评论 -
(译)Scheme简明教程4-数据类型转换及其它类型
2.2.1 数据类型转换Scheme提供了许多可以进行数据类型转换的过程。我们已经知道可以通过char-downcase 和 char-upcase过程来进字符大小写的转换。字符还可以通过使用char->integer来转换成整型,同样的整型也可以通过integer->char被转换成字符。(字符转换成整型得到的结果通常是这个字符的ascii码值。)(char->in...2009-11-30 22:39:00 · 211 阅读 · 0 评论 -
(译)Scheme简明教程5-Forms代码结构
第三章 Forms代码结构读者们会发现迄今为止我们提供的Scheme示例程序也都是s-表达式。这对所有的Scheme程序来说都适用:程序是数据。因此,字符数据#\c也是一个程序,或一个代码结构。我们将使用更通用的说法代码结构而不是程序,这样我们也可以处理程序片段。Scheme计算代码结构#\c得到结果#\c,因为#\c可以自运算。但不是所有的s-表达式都可以自运算。比如symbol 表达...2009-12-03 18:08:00 · 143 阅读 · 0 评论 -
(译)Scheme简明教程6-条件语句
第四章 条件语句和其它的编程语句一样,Scheme 也包含条件语句。最基本的结构就是if:(if 测试条件 then-分支 else-分支)如果测试条件运算的结果是真(即,非#f的任何其它值),”then”分支将会被运行(即满足条件时的运行分支)。否则,”else”分支会被运行。”else”分支是可选的。(define p 80) (if (> p 70) ...2009-12-04 23:35:00 · 174 阅读 · 0 评论 -
(译)Scheme简明教程7-词法变量
第五章 词法变量Scheme的变量有一定的词法作用域,即,它们在程序代码中只对特定范围的代码结构可见。迄今为止我们所见过的全局变量也没有例外的:它们的作用域是整个程序,这也是一种特定的作用范围。我们也碰见过一些示例包含局部变量。它们都是lambda过程的参数,当过程被调用时这些变量会被赋值,而它们的作用域仅限于在过程的内部。例如:(define x 9)(define add2 ...2009-12-17 15:43:00 · 146 阅读 · 0 评论 -
(译)Scheme简明教程8-递归
第六章 递归 一个过程体中可以包含对其它过程的调用,特别的是也可以调用自己。(define factorial (lambda (n) (if (= n 0) 1 (* n (factorial (- n 1))))))这个递归过程用来计算一个数的阶乘。如果这个数是0,则结果为1。对于任何其它的值n,这个过程会调用其自身来完成n-1阶乘的计算,然后将这个...2009-12-18 22:27:00 · 130 阅读 · 0 评论