使用map或reduce或filter,在Scheme中,计算列表中有多少个元素[关闭]

2024-05-04

(number-length '(1 1 0 1 0 0)) 这假设返回 6。我知道如何使用长度并找到它,但我不知道如何在没有长度的情况下使用映射或过滤器或减少。有人可以提供一些想法吗?


映射并应用:

(define (number-length1 lst)
  (apply + (map (lambda (n) 1) lst)))

折叠/缩小:

(define (number-length2 lst)
  (foldl (lambda (list-element n) (+ n 1))
         0
         lst))

映射和折叠/缩小:

(define (number-length3 lst)
  (foldl + 0 (map (lambda (n) 1) lst)))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用map或reduce或filter,在Scheme中,计算列表中有多少个元素[关闭] 的相关文章

  • 本地球拍

    我正在书中阅读有关本地定义的内容 并且遇到了这个例子 local define f x x 5 define g alon cond empty alon empty else cons f first alon g rest alon g
  • 如何创建一个包含 n 个过程应用程序的列表

    我的问题与this one https stackoverflow com questions 249374 scheme procedure to compute the nth repeated application of a fun
  • 了解Scheme函数

    我们的编程语言练习考试中给出了以下问题 我很难理解它是如何工作的 有人能告诉我代码流程是什么吗 我已经在球拍中运行过它并且知道答案是什么 看起来第一个 lambda 函数将其他两个函数作为参数 但输入在哪里 lambda x 2 and l
  • 如何在方案中调试gimp的script-fu脚本?

    我尝试使用 script fu scheme 为 gimp 制作一些脚本 当然 作为一个初学者 会有很多错误和误解 现在我正在寻找一种调试这些脚本的方法 我找到了 gimp message 但结果没有显示 我不知道是否有可能将调试消息打印到
  • 有没有办法检查一个列表的所有元素是否都包含在球拍的另一个列表中?

    我想要一个执行类似操作的函数 gt function 1 2 3 4 1 2 3 4 5 t 在这种情况下返回 t 因为第一个列表的所有元素都包含在第二个列表中 有没有一个函数可以做到这一点而不必担心顺序 在这种情况下 您不会将列表进行比较
  • 在Scheme中编写一个自动记忆器。有关宏和包装器的帮助

    我在Scheme中编写自动记忆器时遇到了一些问题 我有一个有效的 memoize 函数 它创建一个哈希表并检查该值是否已经计算出来 如果之前已经计算过 则返回值 否则调用该函数 define memoizer fun let a table
  • 将字符串附加到 IronScheme 中的现有文本文件

    我们正在尝试使用 IronScheme 构建一个日志文件 并且我们已经使用racket 为其编写了代码 它在球拍中工作正常 但 IronScheme 会抛出错误 这是我们目前所拥有的 define write to log lambda w
  • 对方案中的列表进行排序

    如何编写一个排序算法 以升序返回列表 ex 1 3 5 2 9 回报 1 2 3 5 9 大多数Scheme 实现都附带一个对列表进行排序的过程 如果您的实现没有提供这一功能 那么为您提供一个并不困难 下面是快速排序算法的实现 gt def
  • 方案单词列表 eq?

    我有一个问题 我需要查找列表是否等于第二个列表 例如 set eq 1 2 3 1 2 3 gt t set eq 1 2 3 2 3 4 gt f 这些例子在我的程序中是正确的 但这个例子不是 set eq quote quote one
  • letrec、命名let和内部定义的常见用法?

    我有几本关于Scheme的书 其中一些提到了名为let和letrec的书 但没有一本真正给出了令人信服的例子 我的意思是 我何时以及为何使用其中一个而不是另一个 是否存在 letrec named let 确实是比内部定义甚至外部辅助过程更
  • 删除重复项并对列表进行排序

    我正在尝试编写一个过程 该过程采用一个可能包含或不包含重复项的列表 然后按排序顺序返回没有重复项的列表 到目前为止我想到的是 define remove duplicated list if null list if car list ca
  • 查找 lambda 表达式中的自由变量

    有谁知道如何找出 lambda 表达式中的自由变量 自由变量是不属于 lambda 参数的变量 我当前的方法 这对我毫无帮助 是简单地使用 car 和 cdr 来遍历表达式 我的主要问题是确定一个值是否是一个变量或者它是否是方案原语之一 有
  • 如何找到 MIT 方案中出现错误的地方?

    当你在 MIT 方案中遇到错误时 它不会告诉你错误发生在哪里 例如 它只打印如下内容 Unbound variable top left To continue call RESTART with an option number REST
  • 经验丰富的计划者的 get-first、get-next 和 waddle 函数

    define get first lambda l call with current continuation lambda here set leave here waddle l leave quote define get firs
  • 访问Scheme中的调用堆栈深度

    为了演示尾递归的有效性 我想要一种在Scheme中动态访问调用堆栈深度的方法 有没有办法做到这一点 如果没有 有没有办法在其他主要函数语言 OCaml Haskell 等 中做到这一点 Racket 允许您在调用堆栈中存储值 您可以使用它来
  • 不知道如何解决 SICP 练习 1.11

    练习1 11 http mitpress mit edu sicp full text book book Z H 11 html thm 1 11 一个功能f由以下规则定义f n n if n lt 3 and f n f n 1 2f
  • CMake:如何在多个文件上运行自定义命令来生成源文件?

    我有以下情况 我想编译一些Scheme文件Gambit https github com gambit gambit成可执行文件 为此 我使用 gambit 将所有计划文件翻译 生成为 C 和目标文件 然后将其编译并链接为可执行文件 假设我
  • Racket 中的“match”可以具有带有来自外部作用域的变量的模式吗?

    考虑以下示例 lang racket match cat doge a b match b a t f Not a pair 如果我想匹配头部和尾部相同的对 我可能会这样写 但这不起作用 因为第二个a被绑定为一个新变量 并且匹配任何内容 是
  • 方案中的多维向量?

    我之前问过一个关于方案中数组的问题 结果它们被称为向量 但在其他方面基本上与您期望的相同 有没有一种简单的方法可以在 PLT 方案中处理多维 arrays 向量 出于我的目的 我想要一个名为make multid vector或者其他的东西
  • 从when语句内的函数返回

    我想做的就是使用 when 语句返回一个值 我想要以下功能 if x return y 我正在尝试使用 when x y 但是when语句并没有以退出函数并返回y的方式进行计算 它只是愉快地继续下一行 有没有办法做到这一点而不需要制作一个看

随机推荐

  • 如何在节标题和段落之间添加额外的空格

    我希望标题和段落之间以及段落之间有更多的空间 我不希望这是一个全局设置 但我想在需要的地方和时间使用它 感谢任何建议 您可以在行首使用竖线在输出中生成空行 像这样 Heading Paragraph with text
  • 无法将项目追加到多处理共享列表

    我正在使用多重处理来为我的应用程序创建子流程 我还在进程和子进程之间共享一个字典 我的代码示例 主要流程 from multiprocessing import Process Manager manager Manager shared
  • 制作 C# 项目 DLL 和 EXE

    我正在开发一个项目 需要有一个可执行文件以便用户可以运行配置界面和一个可以嵌入其他项目以使用其他一些功能的 DLL 有没有办法让 Visual Studio 同时生成可执行文件和 DLL 而不是每次都手动切换 我同意 TJMonk15 的观
  • 即使使用前向声明也会出现未定义的类型错误

    我正在阅读循环引用和前向声明 我确实知道在头文件中实现并不是一个好的设计实践 然而我正在尝试并且无法理解这种行为 使用以下代码 包含前向声明 我期望它能够构建 但是我收到此错误 Error 1 error C2027 use of unde
  • 如何避免JQuery和Prototype之间的冲突

    如果一个页面同时具有 JQuery 和 Prototype 那么我就会遇到冲突 有一个选项可以禁用 JQuery 的 符号 因此不会发生冲突 但是我必须使用关键字 JQuery 而不是 我想知道Prototype是否有任何选项可以解决这个冲
  • React-Router v4 渲染错误的组件但匹配正确

    我有一个带有两个按钮的侧边栏 测试 和 关于 Test 火箭图标 呈现在 test 处 About 主页图标 呈现在 处 它们都位于应用程序的根目录并嵌套在组件内 当我从 开始并单击 链接到 test 时 它总是加载 关于 组件 当我检查
  • 使用 iText 某些 pdf 文件水印不显示

    我们公司使用 iText 在一些 pdf 表格上标记一些水印文本 不是图像 我注意到 95 的表格可以正确显示水印 大约 5 则不能 我测试了一下 复制了2个原始pdf文件 一个被标记为ok 另一个不ok 然后通过一个小程序进行测试 结果相
  • 在透明背景的 flutter 上播放视频

    我在 Blender 上做了一些复杂的 3D 动画 我想在 flutter 上播放它们 问题是 当我将动画导出到视频并将其放在我的 flutter 应用程序上时 透明背景消失了 我使用 video player 在 flutter 上播放视
  • 在电子邮件中使用协议相对 URL 安全吗?

    关于在 HTML 中使用协议相对 URL 已有讨论 1 但是电子邮件呢 电子邮件客户端或 Gmail 等服务提供商在 HTML 电子邮件中使用时是否会删除或修改协议相对 URL 1 我可以将所有 http 链接更改为 吗 https sta
  • 如何在 R 中验证日期

    我有一个格式为的日期dd mm yyyy HH mm ss验证该日期的最佳和最简单的方法是什么 I tried d lt format Date date format d m Y H M S 但是当非法日期过去时如何捕获错误呢 简单的方法
  • 如何在 O(n) 时间内遍历二叉树而不需要额外的内存

    给定一棵带有整数 左指针和右指针的二叉树 如何在 O n 时间和 O 1 额外内存 无堆栈 队列 递归 内遍历该树 This guy http nandacumar blogspot com 2006 06 traversing tree
  • 为什么以下带有循环泛型的代码无法编译?

    以下是我的代码 class A
  • MVC 4 RC - Aspnet_regsql.exe

    我正在尝试使用 MVC 4 RC 默认模板启用登录 我以与 MVC 3 中相同的方式进行操作 Aspnet regsql exe gt SQL 服务器 然后我让连接字符串指向 SQL 服务器 当我尝试注册新用户时 我得到以下信息 Serve
  • Matlab 的快速 JSON 解析器

    您知道 Matlab 中有一个非常快速的 JSON 解析器吗 目前我正在使用JSONlab http www mathworks com matlabcentral fileexchange 33381 jsonlab a toolbox
  • 安装轮子后安装后脚本

    Using from setuptools command install import install 如果我运行 我可以轻松运行自定义安装后脚本python setup py install 这是相当微不足道 https stackov
  • 学习 WPF 会提高我的 ASP.NET 技能吗? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我已经在 Windows 窗体领域工作了很多年 而且仍然如此 我完全不熟悉 ASP NET 技术 也不熟悉其他 Web 相关技术 我曾合作过 O
  • 使用 Python/PyGObject 在 Windows 中加载 GTK-Glade 翻译

    我有一个 Python 脚本 可以加载可翻译的 Glade GUI 在 Linux 下一切工作正常 但我在理解 Windows 上的必要步骤时遇到了很多困难 Linux 下似乎需要的只是 import locale locale setlo
  • 你如何处理冗余代码?

    我有一个类 它是代码库项目的一部分 该项目是为不再需要的特定目的而编写的 所以问题是你如何处理这样的代码 您是否简单地删除它 或者您是否记住它 未来的开发人员可能会遇到它 但没有意识到他们可以忽略它 或者您是否有某种存档系统 是否存在公认的
  • 捕获通信异常而不是自定义故障异常 - WCF

    在服务器上我抛出这样的异常 catch SqlException exception if exception Message Contains Custom error from stored proc Exception to be t
  • 使用map或reduce或filter,在Scheme中,计算列表中有多少个元素[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 number length 1 1 0 1 0 0 这假设返回 6 我知道如何使用长度并找到它 但我不知道如何在没有长度的情况下使用映射或过