Skip to content

Commit fe7c860

Browse files
committed
Add more operations
1 parent f168166 commit fe7c860

File tree

5 files changed

+29
-19
lines changed

5 files changed

+29
-19
lines changed

src/main/kotlin/org/athenian/EagerNumberEval.kt

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,8 @@ package org.athenian
33
fun main() {
44
val lst = listOf(1, 2, 3, 4, 5)
55
val lstMapped =
6-
lst.map {
7-
println("Processing $it")
8-
it * it
9-
}
6+
lst.onEach { println("Processing $it") }
7+
.map { it * it }
108
println("Before sum")
119
val sum = lstMapped.sum()
1210
println("Sum = $sum")

src/main/kotlin/org/athenian/EagerPeopleEval.kt

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,13 @@ fun main() {
1414
println(
1515
people
1616
.filter { it.age > 30 }
17+
.onEach { println("First map evaluating $it") }
1718
.map {
18-
println("First map evaluating $it")
1919
it.name
2020
.split(" ")
2121
.map { name -> name[0] }
2222
.joinToString("")
2323
}
24-
.map {
25-
println("Second map evaluating $it")
26-
it.toUpperCase()
27-
})
24+
.onEach { println("Second map evaluating $it") }
25+
.map { it.toUpperCase() })
2826
}

src/main/kotlin/org/athenian/LazyNumberEval.kt

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,8 @@ package org.athenian
33
fun main() {
44
val seq = sequenceOf(1, 2, 3, 4, 5)
55
val seqMapped =
6-
seq.map {
7-
println("Processing $it")
8-
it * it
9-
}
6+
seq.onEach { println("Processing $it") }
7+
.map { it * it }
108
println("Before sum")
119
val sum = seqMapped.sum()
1210
println("Sum = $sum")

src/main/kotlin/org/athenian/LazyPeopleEval.kt

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,15 @@ fun main() {
55
people
66
.asSequence()
77
.filter { it.age > 30 }
8+
.onEach { println("First map evaluating $it") }
89
.map {
9-
println("First map evaluating $it")
1010
it.name
1111
.split(" ")
1212
.map { name -> name[0] }
1313
.joinToString("")
1414
}
15-
.map {
16-
println("Second map evaluating $it")
17-
it.toUpperCase()
18-
}
15+
.onEach { println("Second map evaluating $it") }
16+
.map { it.toUpperCase() }
1917
.toList()
2018
)
2119
}

src/main/kotlin/org/athenian/NumbersGenerator.kt

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,25 @@ fun main() {
2525
print("$i ")
2626
println()
2727

28-
println("Even numbers <= 10: ${evenNumbers(10).toList()}")
28+
print("Even numbers <= 10: ")
29+
evenNumbers(10).forEach { print("$it ") }
30+
println()
2931

32+
println("Even numbers <= 10: (${evenNumbers(10).joinToString(", ")})")
33+
34+
println("Even numbers <= 10: ${evenNumbers(10).toList()}")
3035
println("Odd numbers <= 10: ${oddNumbers(10).toList()}")
36+
37+
38+
println("Min even number <= 10: ${evenNumbers(10).min()}")
39+
println("Max even number <= 10: ${evenNumbers(10).max()}")
40+
println("Count even number <= 10: ${evenNumbers(10).count()}")
41+
println("Average of even numbers <= 10: ${evenNumbers(10).average()}")
42+
println("First even number <= 10: ${evenNumbers(10).first()}")
43+
44+
// Boolean operations
45+
println("Any even numbers <= 10 <= 6: ${evenNumbers(10).any { it <= 6 }}")
46+
println("All even numbers <= 10 <= 6: ${evenNumbers(10).all { it <= 6 }}")
47+
48+
println("All numbers <= 10 ${evenNumbers(10).plus(oddNumbers(10)).sorted().toList()}")
3149
}

0 commit comments

Comments
 (0)