我有一个真/假列表(像这样(#f #f #f #f #f #t))并且我想循环遍历它,制作一个if语句并进行追加。
但是我的地图/如果迭代器没有像我预期的那样工作
我正在尝试这个:
(map (if (false? lst) "do this" "do that" ) lst)
在伪代码中我会有类似的东西
for each value in lst
if value
"do that"
else
"do this"
答案 0 :(得分:2)
请记住map
作为参数接收列表和函数,它们对每个元素进行操作。试试这个:
(map (lambda (e)
(if (false? e)
"do this"
"do that"))
lst)
例如,如果我们将lst
定义为'(#f #f #f #f #f #t)
,则结果为:
'("do this" "do this" "do this" "do this" "do this" "do that")