Scheme中lambda表达式的形参表有3种
B.Tag
几个月来总结下自己所学的东西,和自己的感悟,首先,我来武汉研究的第一个程序,是lambda演算,当时的感觉很奇妙,该程序也 很好理解。也是很有趣的程序,很多程序员第一次接触Scheme的时候就是先学习的lambda演算,lambda本身就是一个匿名函数,而且 Scheme里面支持匿名函数,可以回顾下当时我的列子,如下: (define foo (lambda (x) (* x x))) Scheme中lambda表达式的形参表有3种接收参数的方式: 1,定长,这种是最常见的,eg: (define square (lambda (n) (* n n))) (square 5)=>25 2,全定长,目前还没想通用处在哪里eg: (define foo (lambda x x)) (foo 1 2 3)=>(1 2 3) 3,半定长,这种在很多语言中都有用到,比如C的printf函数eg: (define f (lambda (x . y) (* x x))) (f 10 20 30)=>100 通常函数由以下4个部分组成: 1,前继,n!(fac) 2,后续,(n-1)!(fac (- n 1)) 3,测零,(= n 0) 4,不动点算子,1 我的博客http://www.safeccn.cn hi.baidu.com/dszul
你的回复
回复请先 登录 , 或 注册最新讨论 ( 更多 )
- 《零基础SICP》第3课:递归与迭代 (沈浪熊猫儿)
- 《零基础SICP》第2课:习题1.7讨论以及习题1.9预热 (沈浪熊猫儿)
- S7 Scheme Binary项目 (沈浪熊猫儿)
- 《零基础SICP》第2课:第一章第一节习题课 (沈浪熊猫儿)
- 《零基础SICP》第1课:编程的基本原理 (沈浪熊猫儿)