导读: 由 stelee 于 周日, 11/18/2007 - 09:06 提交。programming Scheme自学教程 2 第三章 代码块(Forms) 读者也许注意到了,在前面那些Scheme的例子中列举了如此多的S表达式,其中隐藏的事实是:程序就是数据。因此,#\c就是一个程序,或者我们可以称为代码块(Forms)。以后,我们会使用更加正式的词汇form来代替程序片段这个说法。scheme执行form #\c从而得到一个值#\c,因为#\c是可以自我求值的。并不是所有的S表达式都是可以自我求值的,比如说,对于symbol的s表达式 xyz来说,其求值的是xyz本省或代表的变量。而列表s表达式(string->number "16")求值结果是数字16。 并不是所有的s表达是都是有效的程序。如果你写如下的代码(1 . 2),则不会通过编译。Scheme运行一个列表样式的form,首先检查第一个元素,或者说检查head,如果head被执行为一个过程(procedure),那么剩下的则被认为是head元素的参数。这个过程就被应用(apply)于这阅读全文>
发表于 @ 2007年11月18日 17:12:00|评论(loading...)|编辑|举报|收藏