定义向量时的clojure NullPointerException

定义向量时的clojure NullPointerException,clojure,Clojure,有什么问题吗 (def b [08]) java.lang.NullPointerException:null 但是 没关系 为什么?我对clojure一无所知,但在许多语言中,以零开头的整数文本被解释为(基数8)。8是无效的八进制数字 从以下位置的快速实验: 看来这确实是你的问题 不要以前导零开始整数(例如,08),除非你真的想用八进制表示法。@Jonathon Reinhart是正确的,根据LispReader.java:(): 静态模式intPat= Pattern.compile( “

有什么问题吗

(def b [08])
java.lang.NullPointerException:null

但是

没关系


为什么?

我对clojure一无所知,但在许多语言中,以零开头的整数文本被解释为(基数8)。8是无效的八进制数字

从以下位置的快速实验:

看来这确实是你的问题


不要以前导零开始整数(例如,
08
),除非你真的想用八进制表示法。

@Jonathon Reinhart是正确的,根据LispReader.java:():

静态模式intPat=
Pattern.compile(
“([-+])(?:(0)|([1-9][0-9]*)|0[xX]([0-9A-Fa-f]+)|0([0-7]+)|([1-9][0-9]?)[rR]([0-9A-Za-z]+)| 0[0-9]+)”

模式中的部分
0([0-7]+)
证明了这一点

(def b [8])
> (def b [08])
java.lang.NumberFormatException: Invalid number: 08
> (def b [07])
#'sandbox155/b