随笔分类 - Scheme

摘要: Scheme 递归阅读全文
posted @ 2009-12-18 22:27 heros 阅读(1803) | 评论 (2) 编辑
摘要: 第五章 词法变量Scheme的变量有一定的词法作用域,即,它们在程序代码中只对特定范围的代码结构可见。迄今为止我们所见过的全局变量也没有例外的:它们的作用域是整个程序,这也是一种特定的作用范围。我们也碰见过一些示例包含局部变量。它们都是lambda过程的参数,当过程被调用时这些变量会被赋值,而它们的作用域仅限于在过程的内部。例如:这里有一个全局变量x,还有一个局部变量x,就是在过程add2中那个字...阅读全文
posted @ 2009-12-17 15:43 heros 阅读(1860) | 评论 (0) 编辑
摘要: 第四章 条件语句和其它的编程语句一样,Scheme也包含条件语句。最基本的结构就是if:(if 测试条件 then-分支 else-分支)如果测试条件运算的结果是真(即,非#f的任何其它值),”then”分支将会被运行(即满足条件时的运行分支)。否则,”else”分支会被运行。”else”分支是可选的。(define p 80...阅读全文
posted @ 2009-12-04 23:35 heros 阅读(2637) | 评论 (0) 编辑
摘要: 第三章 Forms代码结构读者们会发现迄今为止我们提供的Scheme示例程序也都是s-表达式。这对所有的Scheme程序来说都适用:程序是数据。因此,字符数据#\c也是一个程序,或一个代码结构。我们将使用更通用的说法代码结构而不是程序,这样我们也可以处理程序片段。Scheme计算代码结构#\c得到结果#\c,因为#\c可以自运算。但不是所有的s-表达式都可以自运算。比如symbol 表达式 xyz...阅读全文
posted @ 2009-12-03 18:08 heros 阅读(2363) | 评论 (0) 编辑
摘要: 2.2.1 数据类型转换Scheme提供了许多可以进行数据类型转换的过程。我们已经知道可以通过char-downcase 和 char-upcase过程来进字符大小写的转换。字符还可以通过使用char->integer来转换成整型,同样的整型也可以通过integer->char被转换成字符。(字符转换成整型得到的结果通常是这个字符的ascii码值。)(char->integer ...阅读全文
posted @ 2009-11-30 22:39 heros 阅读(2383) | 评论 (0) 编辑
摘要: 2.1 复合数据类型复合数据类型是以组合的方式通过组合其它数据类型数据来获得。2.2.1 Strings字符串类型是由字符组成的序列(不能和symbols混淆,symbols仅是由一组字符来命名的简单类型)。你可以通过将一些字符包上闭合的双引号来得到字符串。Strings是自运算类型。"Hello, World!"=> "Hello, World!"还可以通过向string 过程传递一组字符...阅读全文
posted @ 2009-11-29 20:35 heros 阅读(3126) | 评论 (1) 编辑
摘要: 第二章 数据类型数据类型是一组相关的值信息集。各种数据类型互相联系,而且它们通常是具有层次关系。Scheme拥有丰富的数据类型:有一些是简单的类型,还有一些复合类型由其它的类型组合而成。2.1 简单数据类型Scheme中的简单包含 booleans (布尔类型) , numbers (数字类型), characters(字符类型) 和 symbols(标识符类型)。2.1.1 BooleansSc...阅读全文
posted @ 2009-11-28 11:47 heros 阅读(3731) | 评论 (0) 编辑
摘要: Scheme简明教程(译)阅读全文
posted @ 2009-11-26 00:02 heros 阅读(10046) | 评论 (3) 编辑