是否可以在不使用 cond
或 if
的情况下在 Racket 中将 bool 值转换为 0 或 1?我该怎么做?
例如,(f true) -> 1
和 (f false) -> 0
。
编辑:我忘了说我正在使用 intermediate student with lambda
。
最佳答案
如果您将库函数视为黑盒(if
如果它是在 C 中实现的,则不算数?):
(define (b2i b)
(cadr (assq b '((#t 1) (#f 0)))) )
(b2i #t) ;-> 1
(b2i #f) ;-> 0
关于scheme - 在没有条件的情况下将 Scheme/Racket 中的 bool 值转换为整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26768747/