run
run:执行的意思。一个实例要去run了。比如说:1
2
3
4
5val boar = people.run {
goHunting(); // 打猎
fight(); // 战斗
catchAWildBoar(); //抓到一只野猪
} // run返回野猪
返回这个人运行后结果。即,打猎、战斗后,抓到了一只野猪。
apply
apply:有道词典翻译的是申请、应用的意思。一个实例要去应用了。比如说:1
2
3
4
5
6
7val richboy = Girl().apply {
getDressed() // 穿衣服
makeUp() // 化妆
}.run { // apply返回女孩这个实例
attendDancingParty() // 参加一个舞会
catchARichBoy() // 钓到金龟婿
} // run返回金龟婿
这个女孩通过一系列应用(穿衣打扮),然后去运行了(参加舞会钓到金龟婿)。最后把金龟婿赋值给richboy。
对于apply的应用场景,有时是为了编程图方便,流畅。比如说:1
val girl = Girl().apply { getDressed() } // 构造实例并且穿衣,把实例赋值给girl
let
let: let在词典里解释是“允许,让;出租;假设;妨碍”,有种释放权力的意思。比如,let me past(让我过去)。1
2
3richBoy?.let {
it.buyPlane() // 买飞机
}
这个富有的男孩如果真存在,他就可以去买飞机。买飞机毕竟是一种释放,花钱的洒脱,欲望的释放。
with
字典里意思是“在一起;具有”1
2
3
4
5val girl = Girl()
with(girl) {
pet = Husky() // 宠物二哈
mobile = Iphone("xs plus") // iPhone
}
这个女孩拥有二哈,iphone手机
also
also是“也,而且”的意思1
2
3
4
5
6
7
8
9
10val taxi = Taxi()
val richBoy = Girl().apply {
getDressed() // 穿衣服
makeUp() // 化妆
}.also {
taxi.drive(it) // 计程车带她出门
}.run {
attendDancingParty() // 参加一个舞会
catchARichBoy() // 钓到金龟婿
}
这个女孩应用一通(穿衣化妆),而且也让计程车带她出门,然后运行(参加舞会钓到金龟婿),把金龟婿赋值给richBoy