Kotlin представляет массив с логическим индексированием - PullRequest
0 голосов
/ 21 мая 2018

Я хочу иметь 2x2 2d массив int в kotlin, но для индексации следует использовать логические значения, подобные этому:

      | true | false |
----------------------
true  |  0   |  75   |
----------------------
false |  1   |  34   |

Я знаю, что могу использовать 2d массив int, но не уверен, как представитьиндексирование через логические значения.

Любая помощь высоко ценится

1 Ответ

0 голосов
/ 21 мая 2018

Я не думаю, что в целом это хорошая идея, но Kotlin допускает перегрузку операторов такого типа (Array<IntArray> - это тип Kotlin для двумерного массива целых):

operator fun Array<IntArray>.get(x: Boolean, y: Boolean) = this[if (x) 1 else 0][if (y) 1 else 0]

val array: Array<IntArray> = ....
array[true, false]
...