Kotlin
Kotlin - anonymous function
jinhan38
2021. 3. 17. 22:47
class KotlinPlayGroundActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_kotlin_play_ground)
val lists = listOf(1, 2, 3, 4, 5, 6, 7)
println("multiplyMap : ${multiplyMap(lists)} ")
println("multiplyMapSecond : ${multiplyMapSecond(lists)}")
println("multiplyFold : ${multiplyFold(lists)} ")
println("multiplyExtension : ${lists.multiplyExtension()}")
println("multiplyExtensionSecond : ${lists.multiplyExtensionSecond()}")
println("multiplyCloser : ${multiplyCloser(lists)}")
println("multiplyCloserSecond : ${multiplyCloserSecond(lists, count)}")
}
fun multiplyMap(list: List<Int>): List<Int> = list.map { a -> a * 3 }
fun multiplyMapSecond(list: List<Int>): List<Int> = list.map { it * 2 }
fun multiplyFold(list: List<Int>): Int = list.fold(1) { a, b -> a * b }
fun List<Int>.multiplyExtension(): Int = this.fold(1) { a, b -> a * b }
fun List<Int>.multiplyExtensionSecond(): Int = this.fold(1) { a: Int, b: Int -> a * b }
val count = 3
fun multiplyCloser(list: List<Int>): List<Int> = list.map { it * count }
fun multiplyCloserSecond(list: List<Int>, count: Int): List<Int> = list.map { it * count }
}