racket - 映射到嵌套列表,函数应用于引用
问题描述
我有这样的东西
(map (lambda (l) (apply + l)) '('(1 2) '(3 4)))
我希望'(3 7)
,但是我收到一条错误消息,指出应用的函数已应用于报价。为什么会这样?
解决方案
我的清单相当于
(list (quote (list 1 2)) (quote (list 3 4)))
并不是
(list (list 1 2) (list 3 4))
列表格式不正确。有关列表和引用之间的区别,请参阅这篇文章: 引用和列表之间有什么区别?.
进行嵌套循环的正确方法是'((1 2) (3 4))
.
推荐阅读
- three.js - 为什么 setFromMatrix() 位置不起作用?
- json - 从 swagger JSON 中获取建议的示例值
- python - for 循环中的 Python pack() 函数似乎没有
- c# - ASP.NET MVP 组合
- html - 使用动态项目数设置每行的弹性列
- permissions - TYPO3 权限:允许后端用户复制内容元素但不能编辑它们(或:如何为用户提供内容元素库以进行复制)
- r - 通过在 r 中的 for 循环内循环一个向量,使用 mutate 添加新变量
- html - 如何将 hmtl_node 转换为 R 中的列表
- android - 撰写导航到已经在后台堆栈中的屏幕
- google-cloud-platform - BigQuery 定价,是 Terabyte 还是 Tebibyte?