我想保留文本的规范化功能列表。我如何存储.toLowercase? 我在考虑这样的事情:
(def normalizing-functions (list remove-punctuations .toLowerCase))
答案 0 :(得分:3)
看起来您正在制作一份定期应用于某些内容的功能列表。 java方法在这个意义上并不是一个完整的clojure函数 很容易把它包起来,就像你要把它送到地图功能一样。
#(. tolowercase %)
答案 1 :(得分:1)
不是将它们保存在以后必须以某种方式解压缩的列表中,而是将.toLowerCase
包装在clojure函数中(编辑:使用my或Arthur的语法)并将其与您计划使用comp
标准化数据的功能:
user=> (defn remove-punctuation [st] ...removing puncutation mechanics...)
user=> (defn lower-case [st]
(.toLowerCase st))
user=> ((comp remove-punctuation lower-case) "HELLO THERE!")
"hello there"
user=> (defn normalize-data [data]
((comp remove-punctuation lower-case) data))
答案 2 :(得分:1)
memfn
宏将以更易读的方式执行此操作。
(def f (memfn toLowerCase))
(f "Hello")
会返回“你好”。 (doc memfn)
有详细信息。