scheme中map的处理

map是处理list的一个比较简便的方式,通过map可以省去挨个对list元素的处理,强调元素表到结果表的一个变换。
(define (scale-list items factor)
(if (null? items)
nil
(cons (* (car items) factor)
(scale-list (cdr items) factor))))
(define (map proc items)
(if (null? items)
nil
(cons (proc (car items))
(map proc (cdr items)))))
如上述定义的两个函数,map和scale-list的作用是一样的,都是对表进行遍历,但map不需要挨个对元素进行操作,只要代入需要对元素进行的处理和元素表即可输出结果表。

练习2.21 过程square-list以一个数值表为参数,返回每个数的平方构成的表:

点击查看代码
;传统处理
(define (square-list items)(if (null? items)nil(cons (square (car items))(square-list (cdr items)))))
;map处理
(define (square-list items)(map (lambda (x) ( square x))items))
练习2.22 louis要重写square-list函数,化作迭代形式并输出结果,但他发现输出结果是反过来的,需要解决。 代入上一节里写的reverse函数就能解决了。

练习2.23 过程for-each和map类似,但它只从左到右应用于各个元素,将过程作用于元素得到的值都抛弃不用。

点击查看代码
> (define (for-each f items)(cond ((not (null? items))(f (car items))(for-each f (cdr items)))))
> (for-each (lambda (x) (newline) (display x))(list 57 321 88))57
321
88

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1004462.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入了解HTTP缓存!测试要注意这5大应用场景

如果我们测试一个版本时遇到Bug,然后等开发改了以后及时验证,开发可能会好心提醒一句,你先清一下浏览器缓存再测,是不是经常碰到这种情况? 所以我们在测试中要经常和缓存打交道,既然是老朋友了&#xff0c…

springboot基于vue的校园报修管理系统设计与实现_t45k51ip

目录已开发项目效果实现截图开发技术系统开发工具:核心代码参考示例1.建立用户稀疏矩阵,用于用户相似度计算【相似度矩阵】2.计算目标用户与其他用户的相似度系统测试总结源码文档获取/同行可拿货,招校园代理 :文章底部获取博主联系方式&…

跨平台开发框架选型指南:Uniapp、React Native、Flutter

查看全文:https://www.longkui.site/program/frontend/uniapp-react-native-flutter/7176/ 在移动互联网高速发展的今天,跨平台开发已成为企业降本增效、快速覆盖多终端的关键策略。面对日益碎片化的设备生态和用户场景,开发者亟需在开发效率…

EtherCAT 逐帧解析状态机切换过程(初始清零阶段)

第一阶段总结:主站通过一系列广播写(BWR) 和广播读(BRD) 操作,完成从站通信基础配置与状态校准。下面逐帧解析初始化报文: 1、BWR 报文向地址101(对应 DL control 寄存器&#xff09…

《Nature Communications》重磅:片上可见光GHz调制创纪录,量子计算与LiDAR应用再进一步

前沿摘要你是否想象过,控制量子比特的激光,能像手机芯片一样被大规模集成在指甲盖大小的硅片上?这个听上去属于未来的场景,正在成为现实。近日,一项发表于顶级期刊《自然通讯》的突破性研究(https://doi.org/10.1038/s…

区块链DAPP开发公司

寻找一家满意的去中心化应用(DApp)开发公司,是启动区块链项目的关键一步。与传统的App开发相比,DApp涉及智能合约、区块链底层技术和去中心化逻辑,对开发团队的专业度和安全性要求更高。第一步:明确您的DAp…

STM32F103C8T6微控制器实战指南:从选型到项目开发全解析

STM32F103C8T6微控制器实战指南:从选型到项目开发全解析 【免费下载链接】STM32F103C8T6中文数据手册 本资源文件提供了STM32F103C8T6微控制器的中文数据手册。STM32F103C8T6是一款基于ARM Cortex-M3内核的32位微控制器,具有高性能、低功耗和低电压特性&…

仿宋_GB2312字体下载:MAC用户的终极中文排版解决方案

在数字文档排版和平面设计领域,选择一款合适的中文字体至关重要。今天为您推荐的仿宋_GB2312字体资源下载项目,是专为MAC操作系统设计的国家标准编码字体,能够满足您对中文文档排版的高标准要求。无论是撰写论文、设计海报还是制作专业报告&a…

数据集对比

当不确定是不是无意中更改了数据集时,可以做一下数据集对比。import os import json import hashlib import numpy as np from PIL import Image from pathlib import Path import pandas as pd from collections import defaultdictclass DatasetComparator:def __…

AutoTable终极指南:3分钟上手Java注解驱动数据库表自动化管理

AutoTable终极指南:3分钟上手Java注解驱动数据库表自动化管理 【免费下载链接】AutoTable 基于java实体上的注解完成数据库表自动维护的框架 项目地址: https://gitcode.com/dromara/auto-table 还在为数据库表结构维护而烦恼吗?AutoTable作为基于…

一文了解:智能体大模型LangChain 和 Dify有什么区别?

LangChain 和 Dify 是大模型应用开发的两大核心工具,作为这个领域中的佼佼者,各自提供了独特的功能和能力,满足了各种开发者的需求。但二者的定位、目标人群和使用方式差异显著。今天我们来具体分析一下,这两者在定位、能力、如何…

Dify AI 聊天接口后端代理

实现基于 Spring Boot 的 Dify AI 聊天接口代理,支持流式响应,并排查接口调用异常问题 一、Dify 代理接口实现原理 1. 核心功能 通过后端代理转发前端聊天请求至 Dify AI 平台(https://api.dify.ai/v1/chat-messages)&#xff…

意义行为原生论:悟空来路与关山——全领域非专业vs全领域负责制

意义行为原生论:悟空来路与关山——全领域非专业vs全领域负责制 引言:智能时代的认知困境与负责制危机 在专业分工日益精细的今天,我们面临一个深刻的悖论:专业知识不断深化,解决复杂系统性问题的能力却在下降;责…

Lenia完整指南:探索连续细胞自动机的数学生命世界

Lenia完整指南:探索连续细胞自动机的数学生命世界 【免费下载链接】Lenia Lenia - Mathematical Life Forms 项目地址: https://gitcode.com/gh_mirrors/le/Lenia Lenia(莱尼亚)是一个革命性的连续细胞自动机系统,它打破了…

基于微信小程序的健身运动社区的设计与实现(源码+论文+部署+安装)

感兴趣的可以先收藏起来,还有在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,我会一一回复,希望可以帮到大家。一、系统背景在 “健康中国 2030” 战略推进与移动互联网深度渗透的背景下,国民健身需求持续增…

day5 Java基础7

Java基础7 逻辑运算与 两个变量都为true,结果为true 或 两个变量有一个为true,结果为true 非 真则为假,假则为真 短路运算位运算(效率极高) &,|,^,~,>>,<<,>>> a = 0011 1100 b =…

为何机器人开始学叠衣服?六维力传感器赋予的能力正推动落地场景变革

前两天翻看行业动态&#xff0c;一个有趣的变化引起了我的注意&#xff1a;各大机器人厂商的宣传重点&#xff0c;正悄悄从那些让人眼花缭乱的舞蹈表演&#xff0c;转向了叠衣服、收拾桌子这类看似平淡的家务活。这个转变背后&#xff0c;我认为不仅仅是营销策略的调整&#xf…

《Nature Communications》最新研究:高效率差频产生器件赋能未来光通信与波长转换

前沿摘要近日&#xff0c;国际顶尖学术期刊《Nature Communications》在线发表了浙江大学光电科学与工程学院团队的最新研究成果(https://doi.org/10.1038/s41467-025-65953-z)。研究提出并实现了一种基于自适应极化薄膜周期性极化铌酸锂波导的高效率差频产生器件&#xff0c;在…

数字孪生软件开发公司

寻找一家满意的数字孪生&#xff08;Digital Twin&#xff09;开发公司&#xff0c;是实现复杂系统数字化、优化运营和预测分析的关键。数字孪生项目往往涉及跨领域的技术集成&#xff0c;包括物联网&#xff08;IoT&#xff09;、大数据、云计算、三维建模和高级分析&#xff…

MHT-FE520 光纤组合导航系统深度解析:多源融合导航的协议适配与工程实践

在潜航器、特种车辆、中型无人机等高端载体导航场景中&#xff0c;单一传感器易受环境干扰&#xff0c;难以持续保障导航精度与连续性。苏州邈航 MHT-FE520 光纤组合导航系统&#xff0c;以中精度光纤惯性测量为核心&#xff0c;通过多源设备兼容、标准化协议设计及强环境适应性…