我很抱歉不得不提出这个问题,但我试图做一个简单的if
语句,检查变量是否为nil
。
(defun test (input)
(let ((testvar (first input)))
(if (not nil testvar)
(do this)
(do that))))
有人能向我解释正确的语法吗?
答案 0 :(得分:1)
您想检查变量是否为零或是否为零?
不是nil:(if v ... ...)
对于nil:(if (not v) ... ...)
(在CL中)有许多变体在逻辑上都相同但可能更好地表明意图:(if (null v) ... ...)
如果与上面第二种情况相同但可能向读者表明你正在寻找`() '而不是逻辑错误(即空列表)。还有很多其他的变化。
答案 1 :(得分:0)
jkiiski是对的:
Just(if(not testvar)...)。或者将真正的分支放在第一位并做(如果是testvar ......)