/**
* run函数的匿名函数里持有的是this
*/
fun main() {
val str = "Derry is OK"
val r1 = str.run {
true
54.355f
}
println(r1)
//具名函数配黑run函数
// 具名函数判断长度 isLong
//匿名函数配合run
str.run { }
//具名函数
val v2 = str
.run(::isLong)
.run(::showText)
.run(::mapText)
.run(::println)
str.run {
length > 5
}.run {
if (this) "你的字符串合格" else "你的字符串不合格"
}.run {
"[$this]"
}.run {
println(this)
}
//let和run 差不多 run里面是持有对象this let里面是持有it
str
.let(::isLong)
.let(::showText)
.let(::mapText)
.let(::println)
}
fun isLong(str: String) = str.length > 5
fun showText(isLong: Boolean) = if (isLong) "你的字符串合格" else "你的字符串不合格"
fun mapText(getShow: String) = "[$getShow]";
返回结果
?
|