是否可以将Common Lisp的"getf"函数默认值更改为NIL以外的其他值?



函数getf的工作原理如下:

CL-USER> (getf '(:name "pedro") :name)
"pedro"
CL-USER> (getf '(:name "pedro") :whatever)
NIL

NIL为默认值。有可能改变吗?

是。文档定义了这种可能性:

(getf place indicator &optional default)
因此,默认值实际上是一个可选参数。使用它的一个例子是:

CL-USER> (getf '(:name "pedro") :name "no-answer")
"pedro"
CL-USER> (getf '(:name "pedro") :whatever "no-answer")
"no-answer"

相关内容

最新更新