Logo

Programming-Idioms

History of Idiom 20 > diff from v62 to v63

Edit summary for version 63 by hover:
New Kotlin implementation by user [hover]

Version 62

2020-03-20, 18:00:02

Version 63

2020-04-29, 10:09:54

Idiom #20 Return two values

Implement a function search which looks for item x in a 2D matrix m.
Return indices i, j of the matching cell.
Think of the most idiomatic way in the language to return the two values at the same time.

Idiom #20 Return two values

Implement a function search which looks for item x in a 2D matrix m.
Return indices i, j of the matching cell.
Think of the most idiomatic way in the language to return the two values at the same time.

Code
fun search(m: Array<Array<Int>>, x: Int): Pair<Int, Int>? {
    m.forEachIndexed { i, row ->
        row.forEachIndexed { j, value ->
            if (value == x) {
                return Pair(i, j)
            }
        }
    }
    return null
}
Doc URL
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-pair/