Example: Dividing a String
By default, in Kotlin, this fails with a compile error:
fun main() {
  val pieces = "This is a reasonably long string" / 3
}
Kotlin does not know how to divide a String by an Int. However, we can teach Kotlin to do this, by way of implementing a div() extension function on String:
operator fun String.div(count: Int) = this.chunked((this.length / count) + 1)
fun main() {
  println("This is a reasonably long string" / 3)
}
Just as we need to override a function that is declared in a supertype, we need to add the operator keyword to a function whose name is used by Kotlin as the implementation of an operator. Here, div() is the function that Kotlin maps / to. So, our div() extension function allows us to divide a String by an Int.
Prev Table of Contents Next
This book is licensed under the Creative Commons Attribution-ShareAlike 4.0 International license.