Corece для логического значения в Common Lisp - PullRequest
0 голосов
/ 29 октября 2018

Есть ли в Common Lisp встроенная функция для приведения любой вещи к ее логическому значению, как это делает функция bool в Python?

Ответы [ 2 ]

0 голосов
/ 29 октября 2018

Нет ничего специально для этого. Вы не можете использовать boolean в качестве аргумента типа для coerce. Вы можете использовать:

(defun boolean-value (x)
  (not (not x)))

Это аналог идиомы !!x, используемой во многих других языках.

0 голосов
/ 29 октября 2018

Вроде. (and form t) вернет t, если form не является одним из ложных значений nil или ().

Т.е. это макрос, а не функция, и для этого требуется дополнительный аргумент t.

...