出了点问题
(def b [08])
Run Code Online (Sandbox Code Playgroud)
java.lang.NullPointerException:null
但
(def b [8])
Run Code Online (Sandbox Code Playgroud)
没关系
为什么?
我对clojure一无所知,但在许多语言中,以零开头的整数文字被解释为八进制(基数为8).8是无效的八进制数字.
来自Try Clojure的快速实验:
> (def b [08])
java.lang.NumberFormatException: Invalid number: 08
> (def b [07])
#'sandbox155/b
Run Code Online (Sandbox Code Playgroud)
看来这确实是你的问题.
不要使用前导零(例如08
)启动整数,除非您实际上打算使用八进制表示法.