【发布时间】:2023-03-16 04:39:02
【问题描述】:
假设我想找到一堆数字的最大平方:
(max (map (lambda (x) (* x x)) (range -4 1))) ; I want 16
这不起作用:max 期望像 (max 16 9 4 1 0) 一样被调用,而我像 (max '(16 9 4 1 0)) 一样调用它。
这里我要应用的操作和 Python 的星号或者 Javascript 的扩展操作符一样,但是它既不是引号,也不是非引号,也不是准引号……
在 lisp(或 Scheme)(或 Racket)中叫什么,我该如何执行?这似乎是一项基本操作,我很难在 Google 上找到合适的搜索字词。
到目前为止,我得到的最好的结果是真的很伤心
(argmax (lambda (x) x) (map (lambda (x) (* x x)) (range -4 1))) ; 16 but really sadly so
【问题讨论】: