作为自己学习普通口语的一项任务,我正在尝试重新创建lodash。
在重新创建的过程中_.chunk,我编写了以下代码来测试可选参数
(defun _.chunk (array &optional size)
(if (size)
(write ("there") )
(write ("not") )
)
)
Run Code Online (Sandbox Code Playgroud)
设置(setf x #('a 'b 'c 'd))然后运行(_.chunk x),出现错误:
; caught ERROR:
; illegal function call
; (SB-INT:NAMED-LAMBDA _.CHUNK
; (ARRAY &OPTIONAL SIZE)
; (BLOCK _.CHUNK
; (IF (SIZE)
; (WRITE ("there"))
; (WRITE ("not")))))
Run Code Online (Sandbox Code Playgroud)
测试可选功能参数的正确方法是什么?