代码之家  ›  专栏  ›  技术社区  ›  Martin Buchmann

使用mapc的一个现实例子是什么?

  •  3
  • Martin Buchmann  · 技术社区  · 6 年前

    common-lisp 如中所述 hyperspec . 我已经习惯了 mapcar 认为这是最容易理解的。但在现实世界中使用 mapc ? 中的示例 hyperspec 用它来做副作用。但是为什么它返回list参数呢?

    loop 等。?

    1 回复  |  直到 6 年前
        1
  •  8
  •   sds Niraj Rajbhandari    6 年前

    什么是使用 mapc ?

    (mapc #'print my-list) (dolist (x my-list) (print x))

    mapc 这是原来的名单。

    mapc公司 基于相同的原因返回其list参数 print does—通过在代码中添加输出来简化调试。例如,假设你做了

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

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

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

    而且,CL中的很多东西都是为了 "hysterical reasons" .

    当这样的映射比使用 loop 等。?

    只有当你已经有了一个能满足你需要的函数,比如 打印