Я, кажется, делаю что-то не так. Я создал clojure от мерзавца, и вызываю его таким образом:
java -cp clojure.jar clojure.main
Я получаю repl, и затем я ввожу:
(import 'java.lang.string)
и я добираюсь:
java.lang.ClassNotFoundException: java.lang.string (NO_SOURCE_FILE:1)
Я пробую это lang.string, так как я предполагаю, что он должен существовать на пути к классу где-нибудь. Я попробовал другие библиотеки, все без большой удачи. Что я делаю неправильно?
String
должен быть написан с заглавной буквы, вот и все.
user> (import 'java.lang.String)
java.lang.String
Но все в java.lang
уже импортировано и доступно по умолчанию, так что вам не нужно этого делать.
Кстати, в упражнениях без реплики, вероятно, лучший способ включить классы Java - это макрос ns .
(ns foo.bar
(:refer-clojure :exclude [ancestors printf])
(:require (clojure.contrib sql sql.tests))
(:use (my.lib this that))
(:import (java.util Date Timer Random)
(java.sql Connection Statement)))
Блех, кажется, я нашел. Прежде всего, синтаксис должен быть таким:
(import java.lang.String)
Также обратите внимание, что это строка, а не строка.