Можно ли добавить функцию расширения с перегрузкой оператора в Kotlin? - PullRequest
2 голосов
/ 01 мая 2019

Я имею в виду что-то вроде этого:

fun operator Table.get(column_name: String) = this.column(column_name)
// Currently gives an error: "Expecting a top level declaration"

Table экземпляр в настоящее время работает так: table.column("column_name")

Я хочу, чтобы он работал так: table["column_name"]

1 Ответ

5 голосов
/ 01 мая 2019

Это возможно, просто ключевое слово operator идет перед ключевым словом fun в объявлении (как и другие модификаторы, такие как infix, inline и т. Д.):

operator fun Table.get(column_name: String) = this.column(column_name)
...