Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.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
Kotlin分区命令未按预期工作_Kotlin - Fatal编程技术网

Kotlin分区命令未按预期工作

Kotlin分区命令未按预期工作,kotlin,Kotlin,我正在使用kotlin插件的“1.2.60”版本。从文档中可以看出,分区应该基于某个谓词拆分集合。但是,当我尝试它时,它不会分裂成两对,正确和错误的结果。让我告诉你发生了什么,我尝试了什么: val(found,notFound) = "abcd".partition { "abcdef".contains(it)} 在这里,我希望我能找回一双Kotlin鞋。第一个是“abcd”,第二个是“ef” 我想做的是,如果任何字符不在一个字符串中,那么它应该被分离。因此,既然“ef”不在“abcd”中

我正在使用kotlin插件的“1.2.60”版本。从文档中可以看出,分区应该基于某个谓词拆分集合。但是,当我尝试它时,它不会分裂成两对,正确和错误的结果。让我告诉你发生了什么,我尝试了什么:

val(found,notFound) = "abcd".partition { "abcdef".contains(it)}
在这里,我希望我能找回一双Kotlin鞋。第一个是“abcd”,第二个是“ef” 我想做的是,如果任何字符不在一个字符串中,那么它应该被分离。因此,既然“ef”不在“abcd”中,就应该将其分为两部分

明确地说,我希望
found=“abcd”,notFound=“ef”

但是当我运行这段代码时,我得到了以下信息:
found=“abcd”,notFound=“”

为什么找不到空的,我做错了什么?你们能试一下让我知道吗

如果我们检查它,则表示此分区命令应按谓词拆分:

将原始字符串拆分为一对字符串,其中第一个字符串包含谓词生成true的字符,而第二个字符串包含谓词生成false的字符


你交换了论点。试一试

val(found,notFound) = "abcdef".partition { "abcd".contains(it)}

您将得到预期的结果。

您交换了参数。试一试

val(found,notFound) = "abcdef".partition { "abcd".contains(it)}

您将得到预期的结果。

分区应用于
“abcd”
。所以这个字符串被分成一对
“abcdef”.contains(it)
是一个始终返回true的谓词
因此,结果是
found
整个分区字符串和
notFound
nothing
对于托德和莱昂纳多·克雷默提出的解决方案,我不确定这是否是你所需要的
例如:

val(found, notFound) = "abcdefa".partition { "abcd".contains(it) }
返回:

found = abcda
notFound = ef

这是您所期望的吗?

分区应用于
“abcd”
。所以这个字符串被分成一对
“abcdef”.contains(it)
是一个始终返回true的谓词
因此,结果是
found
整个分区字符串和
notFound
nothing
对于托德和莱昂纳多·克雷默提出的解决方案,我不确定这是否是你所需要的
例如:

val(found, notFound) = "abcdefa".partition { "abcd".contains(it) }
返回:

found = abcda
notFound = ef

这就是你所期望的吗?

我想你只是把你的弦向后拉了一下

我可以通过以下方式获得您想要的结果:

val (found, notFound) = "abcdef".partition { "abcd".contains(it) }

我想你只是把琴弦向后拉了一下

我可以通过以下方式获得您想要的结果:

val (found, notFound) = "abcdef".partition { "abcd".contains(it) }