尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

lambda函数的特性

lambda函数的特性
📅 发布时间:2026/6/19 22:41:37

通过对过程的逐步抽象,不难看出过程可以演化为某种模式,因此在新的章节。我们将在数据上做同样的抽象。
此处引入数对的概念来表达有理数,即通过基础过程cons,表达一个有序的数对:(define x (cons n d))
通过该数对,可以完成对数据的抽象。

点击查看代码
;分数的加法
(define (add-rat x y)(make-rat (+ ( * (number x) (denom y)) ( * (number y) (denom x)))(* (denom x)(denom y)))
)
;简化分数
(define (gcd a b)(if (= b 0)a(gcd b (remainder a b))))
(define (number x)(let ((g (gcd (car x)(cdr x))))(/ (car x) g)))
(define (denom x)(let ((g (gcd (car x)(cdr x))))(/ (cdr x) g)))

序对的形式除了表达分数以外,还可以表达图形,例如通过坐标来表达线段两端的位置。

点击查看代码
;线段表达
(define (make-segment x1 y1 x2 y2)(start-segment x1 y1)(end-segment x2 y2)
)
;起点和终点的表达
(define (start-segment x y)(cons x y)
)
(define (end-segment x y)(cons x y)
)

在数据抽象的过程中,意外发现了lambda函数的一些特性,除了之前介绍的省略定义内容直接为某个变量构造函数的作用外,lambda还有以下特性:
1、lambda可以嵌套在其他lambda函数内部
根据练习2.4的要求,其定义了一个过程,

点击查看代码
(define (cons x y)(lambda (m) (m x y)))
(define (car z)(z (lambda(p q) p)))
要求验证对于任意的x、y,(car (cons x y))都将返回x 看到这个过程我觉得蛮不可思议的,但按照题目的要求进行代换看看: (car (cons x y)) ((lambda (m)(m x y))(lambda (p q) p )) ((lambda (p q) p) x y) ((lambda (x y) x) (x) 在这里,cons返回一个lambda函数,这个lambda函数接受一个参数,然后将参数作用于(x y)。car接受一个参数,并将其作用于另一个lambda过程。 但两者连接在一起,就变成car接受了cons的lambda函数并作用与另一个lambda函数。 就像((lambda (x) (+ x 4)) 5 )这一过程会返回9一样,对于cons来说,m就是(lambda(p q) q ) 很有意思,这让我对数据结构有了另类的认识,数据和过程并非泾渭分明,而是可以互相渗透的。

相关新闻

  • 口碑好的浙江省全日制专升本机构推荐:口碑不错的专升本机构有哪
  • 告别SAT备考迷茫!2025年实力派SAT辅导机构深度全解析
  • 2025年市场最好的电动推杆微动开关厂商怎么选择,电动推杆微动开关/大型微动开关/新能源微动开关/鼠标微动开关产品哪里有

最新新闻

  • S12S BDM硬件握手协议:ACK脉冲原理与嵌入式调试实战
  • 前向车辆最小转弯约束下的两点间最短路径生成工具(MATLAB实现+图形可视化)
  • 2026年即时零售无人仓加盟推荐:无人外卖仓/外卖闪电仓/前置仓无人仓/即时零售运营加盟全解析 - 海棠依旧大
  • 2026年东莞全域保洁服务公司推荐:开荒清洁/外墙清洗/石材养护/甲醛治理/油烟管道清洁/日常驻场保洁 - 海棠依旧大
  • CVE-2025-55182本地复现:路径遍历漏洞原理与实战利用详解
  • 麻省理工研究人员打造 Fractal 操作系统,获苹果 M1 芯片新发现

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号