2016-07-21 45 views
0

我想解決4clojure問題「產品數字」。問題描述是 -NumberFormatException發生時解決4clojure難題

寫一個函數,它將兩個數相乘,並返回結果 作爲其數字序列。

(=(__ 1 1)[1])

(=(__ 99 9)[8 9 1])

(=(__ 999 99)[9 8 9 0 1] )

這裏是我的解決方案 -

#(map (fn [x] (Integer/valueOf x)) (clojure.string/split (str (* %1 %2)) #"")) 

這在我的本地工作完全正常。我測試了兩個emacs蘋果酒的lein repl &。

但相同的解決方案拋出4clojure網站上有錯誤

java.lang.NumberFormatException:對於輸入字符串: 「」

他們使用不同的REPL?或者我做錯了什麼?

回答

3

這可能是與4clojure舊版本的Clojure的連接。 因此clojure.string/split留下一個空字符串作爲製造品。

有在該版本與當前者的Clojure的一些差異(你可能會在以後的任務碰上他們)

但是,你甚至不需要split在這裏,因爲映射在內部串的呼叫seq,製作它的字符序列。所以,你只需要做到這一點:

#(map (fn [x] (Integer/valueOf (str x))) (str (* %1 %2)))