English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Kotlin面向对象(OOP)
В этой статье вы узнаете, как использовать инфиксные символы для вызова функций в Kotlin (с помощью примеров).
Прежде чем изучать, как создавать функции с инфиксным символом, давайте сначала рассмотрим два常用的 инфиксных функции.
При использовании || и &&& компилятор соответственно ищет функции or и and и вызывает их в фоновом режиме.
fun main(args: Array<String>) { Пример: функции or и and в Kotlin val a = true val b = false var result: Boolean result = a and b // a.and(b) result = a or b // a.or(b) result = a and b // a.and(b) }
При запуске программы вывод будет следующим:
println("result = $result") result = true
result = false
Как создать функцию с инфиксным символом?
Вы можете использовать инфиксное обозначение для вызова функций в Kotlin, если функцияЧлен функции(илиРасширение функции).
Есть только один параметр.
Отмечена ключевой словами infix.
class Structure() { infix fun createPyramid(rows: Int) { var k = 0 for (i in 1..rows) { k = 0 for (space in 1..rows-i) { print(" ") } while (k != 2*i-1) { print("* ") ++k } println() } } } fun main(args: Array<String>) { val p = Structure() p createPyramid 4 // p.createPyramid(4) }
При запуске программы вывод будет следующим:
* * * * * * * * * * * * * * * * * * * * * *
Здесь createPyramid() — это infix-функция для создания структуры пирамиды. Это член функции класса Structure, которая принимает один параметр типа Int и начинается с ключевого слова infix.
Число рядов пирамиды зависит от параметра, переданного функции.