【发布时间】:2021-02-15 11:04:03
【问题描述】:
我不知道怎么问这个问题。基本上,我的教授解决了一个问题,他没有在 cond 语句中使用布尔表达式(and,or,not)。所以,我试图想出一个虚拟的例子,我发现了一些奇怪的东西。正如你在下面看到的。我不知道为什么 true false 给我 false 而不是转到 else 语句,但是当我做 false true 时,它转到 else 语句。我将其视为 AND 运算符,我知道我错了。
(cond ((= 2 2) (= 3 3))
(else "Hello")) ; --> T T --> #t
(cond ((= 2 2) (= 3 1))
(else "Hello")) ; --> T F --> #f
(cond ((= 2 1) (= 3 3))
(else "Hello")) ; --> F T --> "Hello"
(cond ((= 2 1) (= 3 1))
(else "Hello")) ; --> F F --> "Hello"
【问题讨论】:
-
每个子句的car是一个条件,如果这个条件成立,其他的都是执行的。
标签: functional-programming scheme racket