int - 有没有办法在 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 做到这一点?
解决方案
您可以(if <exp> 1 0)
在任何需要将布尔表达式映射到的地方编写[0, 1]
。没有内置的形式可以完全按照你写的那样做。
推荐阅读
- wpf - 等待 WPF 上的模板更改
- android - Firebase Firestore Android 删除多人游戏文档
- java - 为 SinglyLinkedList 类中的 add 方法使用泛型创建列表变量
- qt - 在 Ubuntu Touch Xenial 上使用 WebView 时崩溃
- php - 获取保存文件 PHP 的正确路径
- vba - 从 Excel 单元格中的地址创建 PDF
- r - Rmarkdown 无法识别 pdf 中的乳胶换行符
- python - 多指数熔体_枢轴
- javascript - 在选项卡中一次退出脚本或运行 Tamerpmonkey Userscript 的方法?
- styled-components - 使用样式化组件条件渲染 SVG