Kotlin - all, any, none
Original source = play.kotlinlang.org/byExample/01_introduction/01_Hello%20world
fun main() {
var list_numbers = listOf(1, -1, 2, -2, 3, -3, 4, -4, 5, -5) // 1
var var_all_even = list_numbers.all {x -> x % 2 == 0} // 2
println(var_all_even)
var var_all_lt_100 = list_numbers.all {it < 100} // 3
println(var_all_lt_100)
var var_any_negative = list_numbers.any {x -> x < 0} // 4
println(var_any_negative)
var var_any_gt_100 = list_numbers.any {it > 100} // 5
println(var_any_gt_100)
var var_none_even = list_numbers.none {x -> x % 2 == 0} // 6
println(var_all_even)
var var_non_lt_100 = list_numbers.none {it > 100} // 7
println(var_non_lt_100)
}
-- Result
false // 1
true // 2
true // 3
false // 4
false // 5
true // 6
1. list를 생성합니다.
2. list에 all 함수를 적용하면 중괄호{} 안에 명시된 조건을 모든 요소가 만족할 경우 true, 하나라도 불만족할 경우 false를 리턴합니다.
list의 모든 요소는 짝수가 아니므로 false를 반환합니다.
(a % b는 a나누기 b의 나머지를 반환하는 operator 입니다.)
3. 마찬가지로 list에 존재하는 각각의 요소를 의미하는 it 키워드를 사용할 수 있으며 list_nubmers의 모든 요소가 100보다 작으므로 true를 반환합니다.
4. list에 any 함수를 적용하면 중괄호{} 안에 적힌 조건을 만족하는 요소가 하나라도 있다면 true, 조건을 만족하는 요소가 하나도 없으면 false를 반환합니다.
이 경우 0보다 작은 요소가 있으니 true를 반환합니다.
5. 모든 요소가 100보다 크지 않습니다. 즉, 모든 요소가 x > 100이라는 조건을 만족하지 못합니다. false를 반환합니다.
6. list에 none 함수를 적용하면 중괄호{} 안에 명시된 조건을 모든 요소가 만족시키지 못할 경우 true를 반환합니다. 하나라도 조건을 만족하는 요소가 있다면 false를 반환합니다.
이 경우 x % 2 == 0 조건을 만족하는 요소가 존재합니다.(2, 4 등)
따라서 false를 반환합니다.
7. 모든 요소가 it > 100 조건을 만족하지 못합니다. true를 반환합니다.