Проблема в том, что вы используете let
неправильно.
Пусть работает так:
(let [identifier (expr)])
Итак, ваш пример должен выглядеть примерно так:
(let [s (Scanner. "a b c")]
(exprs))
Вы можете использовать только лексические привязки, сделанные с помощью let, в пределах области действия let (открывающая и закрывающая части). Пусть просто создает множество лексических привязок. Я использую def для создания глобальной привязки, а let - для привязки чего-то, что мне нужно, только в области действия let, поскольку она сохраняет чистоту. Они оба имеют свое применение.
ПРИМЕЧАНИЕ: (класс.) Такой же, как (новый класс), это просто синтаксический сахар.