gpt4 book ai didi

mapping - 使用mapc 的实际例子是什么?

转载 作者:行者123 更新时间:2023-12-03 03:20:38 25 4
gpt4 key购买 nike

我只是在考虑 common-lisp 中的不同映射函数,如 hyperspec 中所述。 。我已经非常习惯 mapcar 并且认为它是最容易理解的。但是使用 mapc 的真实示例是什么?据我所知,hyperspec 中的示例使用它来产生副作用。但为什么它返回列表参数呢?

当这种映射优于使用循环等的迭代时,是否存在一般规则?

最佳答案

使用 mapc 的真实示例是什么?

(mapc#'print my-list)(dolist (x my-list) (print x)) 更清晰

为什么它返回列表参数?

函数继承强加了这样的想法:每个函数都应该返回有用的东西;对于 mapc这是原始列​​表。

我认为mapc出于同样的原因返回其列表参数 print确实 - 通过在代码中添加输出来简化调试。例如,假设你做了类似的事情

(mapcar #'important-processing
list-with-weird-elements)

您希望在保留逻辑的同时查看列表中的内容:

(mapcar #'important-processing
(mapc #'show-weird-object list-with-weird-elements))

另外,CL中的很多东西都是针对"hysterical reasons"的.

当这种映射优于使用循环等的迭代时,是否存在一般规则?

仅当您已经有一个可以满足您需要的函数时,例如 print如上所述。

关于mapping - 使用mapc 的实际例子是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52556571/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com