我想通过检测空间将一个句子分成单词。例如,
user=>(split "I like reading books")
["I" "like" "reading" "books"]
我的代码是
(use '[clojure.string :only(split triml)])
但是当我编译它时,我得到了“nil”
(load-file "file")
nil
user=>(split "I like reading books")
["I" "like" "reading" "books"]
我怎样才能摆脱“无”或者是否有其他方法将句子分成没有幻灯片效果的单词。谢谢!
答案 0 :(得分:2)
我有点卡住了,所以我会试着回答。
显然,您正在运行REPL会话。 REPL,WILL,接受输入表达式,对其进行评估,并输出评估结果。
输入(load-file "file")
时,它是一个表达式,而不是一条指令,它将有一个返回值,即nil
。我们正在评估这个表达式只是为了它的副作用---加载相应的文件。注意区别:nil
是结果,加载代码是副作用。
在我不知道的情况下,你不能抑制REPL的返回值。但你真的不应该担心这一点。你不打算在生产中运行REPL,是吗?
答案 1 :(得分:1)
要通过检测空格将句子拆分为单词,您必须调用
(clojure.string/split your-sentence #" ")
或在你的情况下
(clojure.string/split "I like reading books" #" ")
'分裂'需要两个参数:第一个是要拆分的字符串,第二个是必须拆分字符串的正则表达式。
请点击此处了解更多详情: