Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 在clo和x200B中拆分字符串;j​;然后打印_Arrays_String_Printing_Clojure - Fatal编程技术网

Arrays 在clo和x200B中拆分字符串;j​;然后打印

Arrays 在clo和x200B中拆分字符串;j​;然后打印,arrays,string,printing,clojure,Arrays,String,Printing,Clojure,我是新来clo的​J​乌尔。我想拆分一个字符串,然后打印。如果我这样做: (.split "Dasher Dancer Prancer" " ") (.length (.split "Dasher Dancer Prancer" " ")) 它给出的#就是数组的toString() 如果我这样做了: (.split "Dasher Dancer Prancer" " ") (.length (.split "Dasher Dancer Prancer" " ")) 它给出了java.la

我是新来clo的​J​乌尔。我想拆分一个
字符串
,然后打印。如果我这样做:

(.split "Dasher Dancer Prancer" " ")
(.length (.split "Dasher Dancer Prancer" " "))
它给出的
#
就是数组的
toString()

如果我这样做了:

(.split "Dasher Dancer Prancer" " ")
(.length (.split "Dasher Dancer Prancer" " "))
它给出了
java.lang.IllegalArgumentException:未找到匹配字段:类的长度[Ljava.lang.String;

请改用:

无需为此使用java互操作

如果需要长度,请使用:

您试图调用的
.split
是对
字符串的一个简单java方法调用,它返回一个数组,然后由repl通过调用
toString
将其转换为
String
。正如您所注意到的,它没有给您期望的结果

clojure.string/split
另一方面,返回
clojure.lang.PersistentVector
,它具有
.toString
方法,可以按预期打印内容。

您可以使用(alength)函数:

(alength (.split "Dasher Dancer Prancer" " "))
用户=>(文档长度)
clojure.core/alength ([array])
返回Java数组的长度。适用于所有 类型


(doc)和(find doc)对于Clojure的日常开发非常重要。

回答得好。它们之间的区别是什么​
clojure.string/split
just
split
?@javaguy你所说的
split
是什么意思?
split
在什么名称空间?或者你的意思是
.split
?@soulcheck是的,我是指clojure.string/split just.split。如果你得到答案,请选择一个。