HtDP / Chpt. 5: как я могу использовать "symbol =?"? (Схема) - PullRequest
1 голос
/ 22 марта 2012

В настоящее время я работаю через HtDP самостоятельно.

В главе 5 рассматривается «Символическая информация».Пример в тексте:

(define (reply s)
  (cond
    [(symbol=? s 'GoodMorning) 'Hi]
    [(symbol=? s 'HowAreYou?) 'Fine]
    [(symbol=? s 'GoodAfternoon) 'INeedANap]
    [(symbol=? s 'GoodEvening) 'BoyAmITired]))

Это все ясно.Однако второе упражнение требует:

Упражнение 5.1.2.Разработайте функцию проверки-угадывания.Он потребляет два числа, угадай и цель.В зависимости от того, как догадка относится к цели, функция выдает один из следующих трех ответов: «TooSmall», «Perfect» или «TooLarge».

Честно говоря, я действительно не вижу, когда или почему «symbol =?»приходит сюда.Мое решение использует только «cond».[РЕДАКТИРОВАТЬ: Код удален по предложению, так как это решение для учебника.]

Согласно тексту, "символ =?"потребляет два символа и возвращает либо истину, либо ложь, в зависимости от того, идентичны они или нет.

Боюсь, что теперь я глубоко погружен в сферу эффекта Даннинга-Крюгера, но я действительно не вижуспособ реализовать этот кусок кода с использованием «Symbol =?».«cond» рассматривается в главе 4, поэтому я сейчас растерялся.

Любая помощь очень важна.

Если вы хотите взглянуть на главу в HtDP, пожалуйста,иди сюда: http://www.htdp.org/2003-09-26/Book/curriculum-Z-H-8.html#node_sec_5.1

К сожалению, решения доступны только с паролем.

1 Ответ

0 голосов
/ 24 апреля 2019

используйте <и> для сравнения чисел. Вы не можете использовать символ =? для этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...