This commit is contained in:
luming 2021-07-01 12:01:07 +08:00
parent f9ca7130f2
commit 439454e9c4
2 changed files with 45 additions and 16 deletions

View File

@ -1,21 +1,5 @@
package senior.Lambda; package senior.Lambda;
fun main(args: Array<String>) {
var range = 1..100
println("被5整除的")
println(range.pickNum { x: Int -> x % 5 == 0 })
println("被10整除的")
println(range.pickNum({ x: Int -> x % 10 == 0 }))
println(range.pickNum { x: Int -> x % 10 == 0 })
println("被15整除的")
println(range.pickNum { it % 15 == 0 })
println("移除指定数字")
println(range.removeNum(20,{x: Int -> x % 10 == 0}))
println(range.removeNum(50) { x: Int -> x % 10 == 0 })
println(range.removeNum(40) { it % 10 == 0 })
}
fun IntRange.pickNum(function: (Int) -> Boolean): List<Int> { fun IntRange.pickNum(function: (Int) -> Boolean): List<Int> {
val list: MutableList<Int> = mutableListOf() val list: MutableList<Int> = mutableListOf()
for (i in this) { for (i in this) {
@ -38,3 +22,35 @@ fun IntRange.removeNum(removeNumm: Int, func: (Int) -> Boolean): List<Int> {
} }
return list return list
} }
fun main(args: Array<String>) {
var range = 1..100
println("被5整除的")
println(range.pickNum { x: Int -> x % 5 == 0 })
println("被10整除的")
println(range.pickNum({ x: Int -> x % 10 == 0 }))
println(range.pickNum { x: Int -> x % 10 == 0 })
println("被15整除的")
println(range.pickNum { it % 15 == 0 })
println("移除指定数字")
println(range.removeNum(20, { x: Int -> x % 10 == 0 }))
println(range.removeNum(50) { x: Int -> x % 10 == 0 })
println(range.removeNum(40) { it % 10 == 0 })
println("svip price = " + getPrice(UserType.SVIP)(20.0))
println("normal price = " + getPrice(UserType.NORMAL)(20.0))
}
/**
* 返回值类型为函数
*/
fun getPrice(type: UserType): (Double) -> Double {
if (type == UserType.NORMAL) {
return { it }
} else {
return { price -> price * 0.8 }
}
}

View File

@ -0,0 +1,13 @@
package senior.Lambda
/**
* todo Created with IntelliJ IDEA
*
*
* @author luming
* @email: lu.lm@bitsun-inc.com
* @date 2021/7/1 11:41
*/
enum class UserType {
NORMAL,SVIP
}