Common Lisp 中的重复元素 [关闭]

2024-06-22

我尝试创建一个函数two arguments x and y这创建了一个list of y times repeated elements X但我对如何做到这一点感到困惑,我认为列表压缩可以做到,但我想要一个更短和简单的方法,例如我希望我的简单代码是这样的

if y = 4
 and x = 7
 result is list of elements (7, 7, 7, 7)

我该如何去做任何想法?书籍链接或任何能给我线索的东西我尝试搜索但我并不幸运


您可以使用制作清单 http://www.lispworks.com/documentation/HyperSpec/Body/f_mk_lis.htm初始元素 key:

CL-USER> (make-list 10 :initial-element 8)
   (8 8 8 8 8 8 8 8 8 8)

Óscar 答案提供了一个很好的例子,说明如何自己编写这样的函数。

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

Common Lisp 中的重复元素 [关闭] 的相关文章

  • 通过命令行参数选择要使用的 ocaml 模块

    在我的代码中我有module M Implementation1然后我参考M 代替Implementation1 问题是 我必须重新编译我的程序才能改变Implementation1 to Implementation2 我想通过命令行参数
  • 计算二项式时“应用程序:不是过程”

    我正在定义一个函数binomial n k 又名帕斯卡三角形 但出现错误 application not a procedure expected a procedure that can be applied to arguments g
  • C# 中我们需要定点组合器吗?

    我在 C 中使用递归 lambda 并在网络上找到了两种执行此操作的方法 一种方法使用定点组合器 http en wikipedia org wiki Y combinator而另一个则没有 在下面的代码中 f1是使用组合器构建的 f2是直
  • 如何在 Visual Studio Code 上运行 Scheme?

    我想知道如何在 Visual Studio Code 上运行简单的方案代码 我已经安装了一个名为 Scheme 的扩展 但下一步是什么 我没有找到有关如何运行代码或开发人员联系方式的扩展的任何详细信息 现在在 VSCode 上编译Schem
  • Common Lisp 中的原子和 Clojure 中的原子有什么区别?

    下列page http clojure org atoms讨论原子在 Clojure 中的工作原理 它并没有详细说明 Clojure 和其他 lisp 方言中原子之间的差异 Common Lisp 中的原子和 Clojure 中的原子之间的
  • Common Lisp 包中的外部符号与内部符号

    在 Common Lisp 包的上下文中它们之间有什么区别 我正在阅读 SLIME 文档 一些命令广泛提到了这一点 语法是什么 你的符号export是外部的 in package cl user defpackage str use cl
  • Swift:配对数组元素的最佳方法是什么

    我遇到了一个需要成对迭代数组的问题 最好的方法是什么 或者 作为替代方案 将数组转换为对数组 然后可以正常迭代 的最佳方法是什么 这是我得到的最好的 这个需要output成为一个var 而且它并不是很漂亮 有没有更好的办法 let inpu
  • 列表推导式和 for 循环中的 Lambda 表达式[重复]

    这个问题在这里已经有答案了 我想要一个 lambda 列表 作为一些繁重计算的缓存 并注意到这一点 gt gt gt j for j in lambda i for i in range 10 9 9 9 9 9 9 9 9 9 9 Alt
  • 用纯函数式语言保持状态

    我正在尝试弄清楚如何执行以下操作 假设您正在开发直流电机的控制器 您希望让它以用户设置的特定速度旋转 def set point ref sp 90 while true let curr read speed controller set
  • Letrec 有什么好处?

    在阅读 老练的阴谋家 时 我开始了解letrec 我理解它的作用 可以用 Y Combinator 复制 但这本书正在使用它来代替已经重复出现的内容defined 函数对保持静态的参数进行操作 使用旧函数的示例defined 函数本身重复出
  • Clojure:如何生成“trie”?

    鉴于以下 def inTree 1 2 1 2 3 1 2 4 5 9 1 2 4 10 15 1 2 4 20 25 你如何将它转换成这个特里树 def outTrie 1 2 3 4 5 9 10 15 20 25 这是一个清理后的解决
  • Lisp reader 输入中的关键字有危险吗?

    在 Doug Hoyte 的 Let Over Lambda 的第 102 页上 作者这样描述他的安全读取字符串函数 这意味着向量 位向量 gensym 循环引用 和所有其他的都被淘汰了 安全读取字符串甚至不允许关键字或外国包符号 我绞尽脑
  • 如何让 Either Monads 了解异步函数(Promises/Future)

    我正在尝试使用 Either Monad 来传输数据 问题是我无法弄清楚如何让我的 Monad 意识到异步操作 这是我所拥有的 let processData Either either sendError sendResponse pro
  • Coq:Type(n) 中的 Prop 与 Set

    我想考虑以下三个 相关的 Coq 定义 Inductive nat1 Prop z1 nat1 s1 nat1 gt nat1 Inductive nat2 Set z2 nat2 s2 nat2 gt nat2 Inductive nat
  • 为什么“this”解析在 JavaScript 中如此特殊?

    警告 首先是有问题的 JavaScript 代码 1 buggy counter problem this can be broken var Counter1 function this count 0 this increment fu
  • 程序解释期间高效的增量哈希计算

    我想写一个递归记忆Scheme解释器 在求值过程中的任何时刻 解释器都应该能够检测到它何时接收到之前见过的一对表达式和环境作为参数 简单记忆eval and apply效率低下 每次调用时都需要在哈希表中查找参数eval apply 这需要
  • Haskell - 让函数返回空字符

    我正在尝试创建一个函数来删除字符串中的每个第 n 个元素 dropEvery String gt Int gt String dropEvery str n map char indx gt if indx mod n 0 then cha
  • 如何使用 STL 在 C++ 中复制映射、过滤和归约行为?

    我想我们可以使用 std transform 来复制 C 中的映射行为 如下所示 std vector
  • 如何编写将布尔值返回到一个函数的函数

    我在这里发现了一个类似的问题 它问了几乎相同的问题 但又不完全一样 我的问题是如何将 a gt Bool 类型的函数列表组合成一个也是 a gt Bool 的函数 Ex compose a gt Bool gt a gt Bool comp
  • 使用 Lisp 进行高阶编程:将函数传递给 mapcar?

    我刚刚学习 ANSI Common Lisp 在 Win32 机器上使用 clisp 我想知道 mapcar 是否可以使用作为正式参数传入的函数 请参阅以下内容 defun foo fn seq mapcar fn seq 在我看来 这将提

随机推荐