SICP 习题2.23 实现for-each

SICP 习题 (2.23)解题总结:for-each的实现 SICP 习题 2.23 要求我们实现一个for-each过程。for-each过程和map过程其实很像,只不过for-each过程不返回值,如果返回一个值的话也是不包含意义的值。map比较像一个加工厂,进去一堆东西,加工一下,出来另一堆东西。for-each更像一个蒸汽机,进去一堆煤,燃烧一下,产生能量干点活,不出来东西,真的一定要说有东西出来也是煤渣,大家不在乎的东西。所以for-each更关 阅读详情
我还是用了前面那个非常讨巧的办法,两个if
(define (for-each proc items)
  (if (not (null? items)) (proc (car items)))
  (if (not (null? items)) (for-each proc (cdr items))))

(for-each (lambda (x) (newline) (display x)) '(57 321 88))
Windows 10 ARM版22H2核心技术解析与应用指南 ARM架构凭借其低功耗、高能效的特性正在桌面计算领域快速普及。Windows 10 ARM版通过x86转译层WoW64实现了85%以上的应用兼容性,22H2版本更在性能优化、开发者工具链和企业功能方面实现重大突破。该平台支持动态调度策略2.0和智能节电模式,在多任务场景下能效比提升23%,同时Visual Studio 2024和LLVM/Clang 17工具链为ARM64原生开发提供完整支持。从Surface Pro X到企业级Latitude设备,Windows 10 ARM版22H2为移动办公、嵌入式 阅读详情

相关推荐

Scheme编程思想:从λ演算到现代工程实践

编程语言的本质是什么?λ演算作为图灵完备的代数化计算模型,揭示了函数、数据与变换的统一性。它不依赖内存地址或硬件指令,而是以函数抽象、高阶组合和行为契约为基石,支撑起从JavaScript闭包、React虚拟DOM到Rust所有权系统的现代软件设计。Scheme作为最贴近λ演算的实用语言,用极简语法(仅七条规则)剥离工程幻觉,迫使开发者直面‘什么是数字’‘什么是状态’‘什么是接口’等根本问题。这种对计算本质的溯源训练,显著提升抽象能力、架构设计水平与跨语言学习效率——尤其在函数式编程、领域建模与元编程场景中

as2886089的博客 334

SICP习题解答2.23

(define (for-each proc items) (cond ((not (null? items)) (proc (car items)) (for-each proc (cdr items))))) 转载于:https://www.cnblogs.com/science/archive/2007/01/09/616114.html...

weixin_30326515的博客 185

实战避坑:在Ubuntu 22.04上配置NVIDIA GPU Direct RDMA时,必须搞清的P2P DMA与IOMMU那些事

本文深入探讨在Ubuntu 22.04上配置NVIDIA GPU Direct RDMA时P2P DMA与IOMMU的关键问题,解析PCIe架构中的地址转换、P2P DMA与标准DMA的区别,以及IOMMU对性能的影响。通过实战案例和调优建议,帮助用户避免常见配置陷阱,提升AI训练集群的数据传输效率。

weixin_33720078的博客 440

sicp 习题 2.23

#lang planet neil/sicp (define lst (list 57 321 88)) (define thing (lambda (x) (newline) (display x))) (define (for-each thing lst) (cond ((not (null? lst)) (thing (car lst))

尘埃的博客 827

Computers & Security 投稿实战:从零到一详解避坑指南

本文详细解析了向《Computers & Security》投稿的全流程避坑指南,包括ORCID账号注册、文件格式统一、Editorial Manager®系统操作技巧等关键步骤。特别强调了cover letter撰写、Declaration of Interest Statement准备以及PDF生成后的检查要点,帮助研究者高效完成投稿流程。

weixin_29228203的博客 672

sicp每日一题[2.22-2.23]

第一部分的代码得到的答案是倒序的,这个是因为程序里每次都把新加入的元素放到结果列表的开头;第二部分得到的答案是这样的:'(((((() . 1) . 9) . 25) . 49) . 81),虽然顺序对了,这并不是我们想要的列表,其实只要在调用第一部分代码后再次调用之前练习里的 reverse 函数就可以得到顺序正确的列表了。这道题开始我不知道怎么连续执行 2 条程序,所以不知道怎么处理,后来上网查了一下,发现。可以直接把多条语句放到一起执行,然后这道题就没有什么难度了。

再思的博客 753

从亚稳态到流片失败:SpyGlass CDC在5G芯片设计中的避坑指南

本文深入探讨了在复杂5G芯片设计中,如何利用SpyGlass CDC工具构建高效的时钟域交叉验证流程,以避免因亚稳态问题导致的流片失败。文章结合实战经验,详细解析了从约束编写、时钟复位完整性检查到层次化验证和特殊场景处理的全过程,并强调了精准的检查约束是确保验证有效性的基石,旨在帮助设计团队安全跨越异步时钟域的雷区。

weixin_29168153的博客 444

【SICP练习】55 练习2.23

练习2.23 这道题就有小小的难度了。(define (for-each f lst)    (cond ((not (null? lst))            (f (car lst))            (for-each f (cdr lst))))) 如果用上前面经常用到的begin和if,这里还有另一种for-each实现。 (

nomasp 2720

基于R和gephi做宏基因组与代谢组等多组学联合network相关性网络图

拿到多组学的数据后一直在找合适的方法将二者进行关联,比如我这里是三种体液的代谢组与一种体液的宏基因组。需求是对多组学进行关联分析,直到最近看到不少文章里利用Gephi将相关性表格进行可视化的图,效果还不错,于是写个过程记录自用。这里演示的是属水平的差异菌群相对丰度(宏基因组结果)与代谢组鉴定到的差异代谢物进行关联。先是计算相关性生成graphml格式文件使用Gephi软件进行可视化。

twocanis的博客 6785

scGPT实战指南:如何用生成式AI加速你的单细胞多组学研究?

本文提供了scGPT在单细胞多组学研究中的实战指南。详细介绍了从环境部署、数据预处理到细胞类型注释与扰动预测等核心任务的操作流程。通过利用生成式AI和Transformer基础模型,scGPT能够显著加速分析,并提升细胞注释的准确性及基因调控网络推断的深度,为研究人员提供了强大的AI分析引擎。

weixin_29215815的博客 402

SICP_2.21-2.23

1 #lang racket 2 3 ;;;;;;;;;;;;;;;;;;;2.21 4 (define (square-list items) 5 (if (null? items) 6 null 7 (cons (square (car items)) 8 (square-list (cdr items))...

weixin_30478923的博客 163

全景相机APP

以下是一款**全景相机APP**的完整源码,支持全景照片拍摄(多帧拼接)、全景预览、鱼眼矫正、图片保存/分享、360°全景查看等核心功能,基于Android原生Camera2 API(替代过时的Camera API) + OpenCV(图像拼接) + GLSurfaceView(全景预览)实现,适配Android 8.0+设备,可直接编译运行。runOnUiThread(() -> tvFrameCount.setText("已拍摄:" + frameCount + "帧"));// X轴旋转(上下)

寒寒豆豆软件公司的博客 179

SICP 2.20 2.21 2.23

为什么80%的码农都做不了架构师?>>> ...

weixin_34041003的博客 143

华为OD机试 - 猴子吃桃 - 二分查找(Java 新系统 100分)

每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天优快云在线答疑。

学Java,找哪吒 3840

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

SICP学习笔记5 ex2.17 -- ex2.23

; ex2.17 (define (last-pair l) (if (null? (cdr l)) l (last-pair (cdr l)))) ; ex2.18 (define (my_reverse l) (if (null? (cdr l)) l (append (my_reverse (cdr l)) (list (car l)

institute的专栏 926

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

sicp 习题 2.21 ~ 2.25

2.21 [code="java"] (define nil '()) (define (square x) (* x x)) (define (square-list items) (if (null? items) nil (cons (square (car items)) (square-list (cdr items))))) ...

zhangle 269

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

【SICP练习】17 练习1.23

 练习1.23 首先我们按照题目要求来写出相应的next函数,然后再修改find-divisor函数。 (define (next x) (if(= x 2) 3 (+ n 2))) (defi...

221

SICP_2.48-2.49

1 #lang sicp 2 3 (#%require sicp-pict) 4 5 (define (make-vect a b) 6 (cons a b)) 7 8 (define (xcor-vect v) 9 (car v)) 10 11 (define (ycor-vect v) 12 (cdr v)) 13 14...

weixin_30363509的博客 139

SICP 习题2.19 重写count-change 过程

(define (cc amount coin-values) (cond ((= amount 0) 1) ((or (< amount 0) (no-more? coin-values)) 0) (else (+ (cc amount (except-first-denomination coin-values)) (cc (

NM的专栏 1222

SICP 练习1.35使用不动点发寻找黄金分割律

前几个输出是书上介绍不动点法的几个样例(define tolerance 0.00001)(define (fixed-point f first-guess) (define (close-enough? v1 v2) (< (abs (- v1 v2)) tolerance)) (define (try guess) (let ((next (f guess)))

NM的专栏 1107

SICP 习题2.8 区间减法

我的想法是区间减法是a区间的每一个数减去b区间的每一个数,这些相减的结果在一个区间上。也就是x的下界-y的上界是最小的,x的上界-y的下界是最大的。其他所有结果都在这两个数之间。(define (add-interval x y) (make-interval (+ (lower-bound x) (lower-bound y)) (+ (upper-bound x) (upp

NM的专栏 1043

SICP 牛顿法求平方根

(define (sqrt-iter guess x) (if (good-enough? guess x) guess (sqrt-iter (improve guess x) x)))(define (improve guess x) (average guess (/ x guess))) (define (average x y) (/ (+ x y) 2))(d

NM的专栏 971

SICP 习题2.3 计算矩形面积和周长

我是用两个点表示的一个矩形,矩形的左下方的点和右上方的点。还有一种方法可以用一个左下方的点,一个长,一个宽就可以了。建立抽象屏障就是要求每个表示方法都能求出一个矩形的长和宽,根据这两个信息,就可以求出矩形面积和周长。(define make-rect cons) (define s-rect car) (define e-rect cdr)(define make-point cons) (defi

NM的专栏 828
上一篇: SICP 习题2.22 square迭代式写法的失败
下一篇: SICP 联系2.27 实现deep-reverse
_NMfloat_
博客等级 码龄12年 7粉丝 315原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值