首页 > 解决方案 > 有没有办法在 Common Lisp 中从布尔值解析为整数?

问题描述

我正在寻找一些内置函数或 Common Lisp 中的一些运算符,当输入为假布尔表达式时将返回“0”,当输入为真时返回“1”。一个例子是:

(setq a 3)
(setq b (+ (bool-to-int (< 0 a)) 2)
(print "b should be 1 + 2 = 3")

有没有办法在不定义自定义函数的情况下使用 Common Lisp 做到这一点?

标签: intbooleanlispcommon-lisp

解决方案


您可以(if <exp> 1 0)在任何需要将布尔表达式映射到的地方编写[0, 1]。没有内置的形式可以完全按照你写的那样做。


推荐阅读