CodeStructure
Procedure is Data
Procedures
在编译器接收到procesure的表头时,会判断是属于哪种过程,例如,在读取到cons后,会将之后输入的数据作为参数进入过程。特殊的过程如begin、dispaly。
局部变量
lambda procedure接受紧跟着它的第一个变量作为参数,传递多个参数可以采用列表的形式传递。
1 | (define area |
Apply
apply允许直接传递一个list给procedure来完成批量操作
例如
1 | (define x '(1 2 3)) |
apply首先接受一个过程,然后接受不定长度的参数,但最后一个参数一定是list,将这个list与所有的其他参数一起执行这个过程。
顺序执行
很多Scheme procedure都隐含了begin语句
1 | (define display3 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 ZuowangDev's Blog!