functional-programming - mapcar 的多个参数

标签 functional-programming lisp closures common-lisp

我确定这是 lisp 中的一个非常初学者的问题,因为我只是在学习这门语言。

我在 clisp 中有一个名为 count 的函数。它计算给定原子在列表中出现的次数。我想要做的是能够使用不同的参数多次调用计数,但要搜索的是同一个列表。

例如,我想计算列表中 'A'B'C 的数量,假设.我希望我能做这样的事情:

(mapcar 'count '(A B C) myList)

我发现这行不通,因为 '(A B C) 中的每个元素都只与 myList 中的一个元素配对。将带有附加输入参数的函数应用于列表中的每个项目的合适惯用方法是什么?

为了进一步说明,我希望能够将 '(A B C)'(A A B C C C) 作为输入并生成 (2 1 3 )

最佳答案

对列表 (A B C) 中的每个项目重复调用函数 count,每次计算匹配项目的相同序列 mylist:

(mapcar (lambda (x) (count x mylist)) '(A B C))

关于functional-programming - mapcar 的多个参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5959656/

相关文章:

haskell - 如何在代码中调用函数来返回多项式的次数?

Javascript 对象样式模块到函数式编程

bash - SBCL:从 bash 运行并退出回到 bash

c# - .NET 中的多线程和闭包

c# - 这种闭包组合行为是 C# 编译器错误吗?

ios - 使用 weak self 避免在闭包中保留循环

functional-programming - 找到矩阵中的主对角线 - 方案

javascript - 使用 Ramda 创建对象

random - 由 sbcl 编译的执行文件不能使随机或使打开文件工作

recursion - 避免双重递归