Clojure地图匿名功能

raz*_*van 0 clojure

我试图将匿名函数映射到集合,我得到一个ClassCastException.

(defn mapanfn
  [names]
  (map (#(str "Hello %"))
       names))

(mapanfn ["Bobby" "Nico" "Ringo"])
Run Code Online (Sandbox Code Playgroud)

谢谢,R.

Tay*_*ood 5

只需取出匿名函数周围的额外括号,format如果要使用格式说明符,请使用:

(defn mapanfn
  [names]
  (map #(format "Hello %s" %) names))
Run Code Online (Sandbox Code Playgroud)

或者使用str没有格式说明符:

(defn mapanfn
  [names]
  (map #(str "Hello " %) names))
Run Code Online (Sandbox Code Playgroud)

在这两种情况下%都指的是调用匿名函数的值,但它字符串中不起作用.