С nil
эквивалентно логическому значению false
, нет необходимости сравнивать его явно.
Простой
(if testvar
(...)
(...))
будет делать эту работу. Вам нужно только not
, если вы хотите проверить на противоположное, например. если вы хотите, чтобы проверить, что переменная не nil
:
(if (not testvar)
(...)
(...))
Кроме того, есть также функция предиката называется null
, что вы могли бы использовать. Это в основном предназначена для проверки, является ли данный список пуст, но так как пустой список эквивалентен nil
, он будет работать (как примеры на связанной странице указывают):
(null '()) => T
(null nil) => T
(null t) => NIL
(null 1) => NIL
Во всяком случае, это в основном только перемещает проблему на один слой вверх ;-)
Просто '(if (not testvar) ...)'. Или сначала поставьте истинную ветвь и сделайте '(if testvar ...)'. – jkiiski