我正在学习 Racket(但在任何方案和方案派生语言中答案可能都是相似的)并且想知道如何从给定列表中过滤掉错误 (#f) 值。我想到的最好的是:
(filter (lambda (x)
(not (eq? x #false)))
'("a" "b" #f 1 #f "c" 3 #f))
'("a" "b" 1 "c" 3) ;; output
但是,我想必须有一个更简单的解决方案。
最佳答案
你可以这样做
(filter identity '("a" "b" #f 1 #f "c" 3 #f))
因为任何不是#f 的东西都被认为是真的。
关于scheme - 如何从 Racket 列表中过滤掉错误值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31692592/