Бесплатный курс по clojure. Зарегистрируйтесь для отслеживания прогресса →

Clojure: JVM и ошибки

Немного вспомним про платформу JVM, которую использует Clojure. Очень часто кишки JVM рантайма выглядивают наружу, из-за чего большинство ошибок во время исполнения программ являются трудночитаемыми, особенно если ошибка возникла где-то в глубине. Например:

  ;делаем вызов (1)
  (1)
  Execution error (ClassCastException) at user/eval1 (REPL:1).
  class java.lang.Long cannot be cast to class clojure.lang.IFn (java.lang.Long is in module java.base of loader 'bootstrap'; clojure.lang.IFn is in unnamed module of loader 'app')

Казалось бы, достаточно банальная ошибка, особенно для новичков, однако вывод ошибки, мягко говоря, устрашает (тут мало что можно сделать, остается только привыкнуть). Однако, благодаря JVM, Clojure доступны все возможности Java мира и не только!

  (Integer/parseInt "123") ; 123

В коде выше, мы вызвали статический метод Java, который парсит строку в число. Тоже самое относится и к библиотекам, написанных для Java. Еще бывают проекты, в которых используется Java, Scala и Clojure одновременно.

Задание

Выведите в стандартный поток вывода (с помощью функции println) результат парсинга строки 256 (с помощью метода Integer/parseInt).


Советы


Нашли ошибку? Есть что добавить? Пулреквесты приветствуются https://github.com/hexlet-basics
Если вы столкнулись с трудностями и не знаете, что делать, задайте вопрос в нашем большом и дружном сообществе