Как вы выражаете логическое отрицание в Scheme?

#scheme #boolean-logic

#схема #boolean-logic

Вопрос:

В C и C ! отрицает результат:

 if( !( a == b ) )
  

На Схеме я нашел только eq? . Как мне сказать «не равны»? Или мы должны прямо сказать

 (eq? #f (eq? expr expr))
  

Ответ №1:

В Scheme есть not , поэтому вы могли бы сделать: (not (eq? expr1 expr2))

Ответ №2:

Не могли бы вы попробовать угадать?

 (not #f) ==> #t
  

Комментарии:

1. Хотя я надеюсь, что вы не хотели обидеть, дипломатичность комментариев иногда трудно отличить от унизительных замечаний в Интернете, если они не сформулированы достаточно ясно.

2. Я догадался, что это было (negate #f) ==> #t . Поскольку это не сработало, я счел этот вопрос полезным.

3. not #f не означает, что что-то истинно, просто программа, возможно, не смогла отобразить false .