Логические операторы И и ИЛИ в схеме - PullRequest
1 голос
/ 27 октября 2010

У меня есть условие, и я хочу проверить, верны ли две вещи. Как я могу сделать эквивалент && или || из Java в Scheme?

Ответы [ 3 ]

4 голосов
/ 27 октября 2010

Также обратите внимание, что не только делает:

(and (equals? var1 var2) (equals? var3 var4))

работа, но также:

(and (equals? var1 var2) (equals? var3 var4) (equals? var5 var6))

против

(and (and (equals? var1 var2) (equals? var3 var4)) (equals? var5 var6))

(и ...) и (или ...) принимают любое количество аргументов.

3 голосов
/ 27 октября 2010

Важно отметить, что and и or не возвращают #t, а скорее истинное значение, для которого было выполнено условие: либо последнее истинное значение в and, либо первое истинное значениев or.

(and 1 2) => 2
(and #f 2) => #f
(and #t 6) => 6
(or 1 2) => 1
(or #f #f 0 #f) => 0
0 голосов
/ 27 октября 2010
(and (equals? var1 var2) (equals? var3 var4))
...