道歉的總諾伊問題,而不是努力開始與Clojure。Clojure - 分割一個字符串兩次,並轉換爲一個地圖(noob)
我有一個字符串"buy=1|sell=2|limit=3|stop=4"
,我試圖把它變成一個地圖
:buy 1
:sell 2
:limit 3
:stop 4
到目前爲止,我
(require '[clojure.string :as str])
=> nil
(def line "buy=1|sell=2|limit=3|stop=4")
=> #'user/line
(str/split line #"\|")
=> ["buy=1" "sell=2" "limit=3" "stop=4"]
現在拆我想我想映射第二次一個功能到SEQ,所以像
map (str/split #"\=") (str/split line #"\|")
=> ArityException Wrong number of args (1) passed to: string/split clojure.lang.AFn.throwArity (AFn.java:429)
我試圖通過一個部分應用函數,但懷疑我的語法正確。我傳遞分隔符作爲函數的第一個參數,但是要分割的字符串應該先傳遞,這樣肯定是不正確的。
任何指向一個更習慣的方式來做到這一點感激地收到。
在地圖調用第一個參數必須是一個函數,允許一個參數。所以你的嘗試不是那麼遠:'(map#(str/split%#「\ =」)(str/split line#「\ |」))'(注意'#(..%...) ' – cfrick
正是我想念的,謝謝! – cms550790