mógłby ktoś wytłumaczyć mi ten błąd:nie można wpisać podpowiedź lokalna z prymitywnym inicjatora
user> (let [^int i 3] i)
CompilerException java.lang.UnsupportedOperationException: Can't type hint a local with a primitive initializer, compiling:(NO_SOURCE_PATH:1)
ja nie rozumiem
co dokładnie nie mogę typu wskazówkę i dlaczego ?
dlaczego mogę używać podpowiedzi typu tablicowego w tej samej sytuacji?
user> (let [^ints ii (int-array 1)] ii) #<int[] [[email protected]>
jak pisać-podpowiedzi lokalnych zmiennych całkowitych?
Zobacz http://clojure.org/java_interop#Java%20Interop-Some%20optimization%20tips: "(niech [foo (int bar)]) jest poprawnym sposobem uzyskania prymitywnego lokalnego. użyj^Integer itp. " –
Prawdopodobnie dlatego, że kompilator już wie wystarczająco dużo, aby określić typ "i" tutaj. – Alex
@ A.Webb Dzięki. Prawdopodobnie rozwiązuje mój praktyczny problem. Pozostawię pytanie otwarte przez chwilę. Mamy nadzieję, że ktoś może wyjaśnić przyczynę tego ograniczenia. – sastanin