Kotlin:如何将谓词传递给CharSequence.any()函数?
我试图找出一个字符是否属于一个字符串。
var s = "abcdef" var result = s.any('d')
但是我不明白这个语法。 从文档 :
fun CharSequence.any(predicate: (Char) -> Boolean): Boolean
我怎样才能传递一个谓词的功能?
完整语法:
s.any({ ch -> ch == 'd' })
我们可以做一些简化。
首先,由于lambda参数是最后一个,所以当没有更多的参数时,我们可以把它放在括号外,并且完全省略它们。
其次,对于具有一个参数的lambda函数文本,可以省略参数声明并通过it
名称引用该参数。
因此简化的等价物将是:
s.any { it == 'd' }