我想保留文本的规范化功能列表。我如何存储.toLowercase? 我在考虑这样的事情:

(def normalizing-functions (list remove-punctuations .toLowerCase))
有帮助吗?

解决方案

看起来您正在制作一份定期应用于某些内容的功能列表。 java方法在这个意义上并不是一个完整的clojure函数 很容易把它包起来,就像你要把它送到地图功能一样。

#(. tolowercase %)

其他提示

不是将它们保存在以后必须以某种方式解压缩的列表中,而是在clojure函数中包装 .toLowerCase 可能更容易(编辑:使用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))

memfn 宏将以更易读的方式执行此操作。

(def f (memfn toLowerCase))
(f "Hello")

会返回“你好”。 (doc memfn)有详细信息。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top