Я пытаюсь проверить, если я меньше 3-х цифр, если он возвращается, иначе рекурсивно вызовите first2 с i/10, пока оно не станет меньше двух цифр. С моей логикой кажется, что 12345 должен вернуться 12.345, и я мог бы найти другой способ отрезать десятичную, но он просто возвращает 100. Почему это? Я искал примеры этой логики, и, похоже, это должно сработать. Это не имеет никакого смысла для меня.Попытка вернуть первые 2 цифры в схеме
(define(first2 i)
(cond(< i 100)
(i)
(first2 (/ i 10))))
> (first2 12345)
100
Вам не хватает круглых скобок. Документация для cond находится здесь: http://docs.racket-lang.org/reference/if.html?q=cond#%28form._%28%28lib._racket%2Fprivate%2Fletstx-scheme..rkt% 29._cond% 29% 29 –