Có thể ai đó giải thích cho tôi lỗi này:Không thể gõ gợi ý một địa phương với một initializer nguyên thủy
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)
Tôi không hiểu,
chính xác những gì tôi không thể gõ-gợi ý và lý do tại sao ?
lý do tại sao tôi có thể sử dụng gợi ý loại mảng trong cùng một tình huống?
user> (let [^ints ii (int-array 1)] ii) #<int[] [[email protected]>
cách nhập gợi ý biến số nguyên cục bộ?
Xem http://clojure.org/java_interop#Java%20Interop-Some%20optimization%20tips: "(cho phép [foo (int bar)] ...) là cách chính xác để có được một địa phương nguyên thủy. sử dụng^Số nguyên v.v ... " –
Có lẽ vì trình biên dịch đã biết đủ để xác định loại 'i' ở đây. – Alex
@ A.Webb Cảm ơn. Nó có thể giải quyết vấn đề thực tế của tôi. Tôi sẽ giữ cho câu hỏi mở một lúc. Hy vọng rằng, ai đó có thể giải thích lý do cho giới hạn này. – sastanin