lambda
This commit is contained in:
parent
f9ca7130f2
commit
439454e9c4
@ -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 }
|
||||||
|
}
|
||||||
|
}
|
||||||
13
src/senior/Lambda/UserType.kt
Normal file
13
src/senior/Lambda/UserType.kt
Normal 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
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user