Korzystanie lein repl
z Clojure 1.4.0, mogę zdefiniować ^:const
z bajt tablicy Javy, ale nie mogę wtedy zrobić coś z nim:Dlaczego nie mogę używać Clojure's:^const z tablicą Javy?
user=> (def x (byte-array (map byte [0 1 2 3])))
#'user/x
user=> (alength x)
4
user=> (type x)
[B
user=> (def ^:const cx (byte-array (map byte [0 1 2 3])))
#'user/cx
user=> (alength cx)
CompilerException java.lang.RuntimeException: Can't embed object in code, maybe print-dup not defined: [[email protected], compiling:(NO_SOURCE_PATH:1)
user=> (type cx)
CompilerException java.lang.RuntimeException: Can't embed object in code, maybe print-dup not defined: [[email protected], compiling:(NO_SOURCE_PATH:1)
Ustaliliśmy, to dzieje się w mojej aplikacji, jak również , więc nie jest to tylko kwestia REPL.
Czego mi brakuje?
Dzięki Joost, to bardzo pouczające! –
Pochodzę z tła innego niż Java, a dziś rano spędziłem chwilę ścigając ten problem, gdzie moja wartość to plik java.io.File. To pytanie i odpowiedź były pomocne w uchwyceniu "dlaczego", uświadomiłem sobie, co się dzieje. –