V tomto článku se naučíte používat infixovou notaci k volání funkce v Kotlinu (pomocí příkladů).
Než se naučíte, jak vytvořit funkci, která má notaci infix, prozkoumáme dvě běžně používané funkce infix.
Když používáte ||
a &&
operace, kompilátor vyhledá nebo a a funkce, a zavolá je pod kapotou.
Tyto dvě funkce podporují notaci infix.
Příklad: Kotlin nebo & a funkce
fun main(args: Array) ( val a = true val b = false var result: Boolean result = a or b // a.or(b) println("result = $result") result = a and b // a.and(b) println("result = $result") )
Když spustíte program, výstup bude:
result = true result = false
Ve výše uvedeném programu, a or b
místo toho a.or(b)
, a a and b
místo toho a.and(b)
se použije. Bylo to možné, protože tyto dvě funkce podporují infixovou notaci.
Jak vytvořit funkci s infixovou notací?
Můžete zavolat funkci v Kotlin pomocí infixové notace, pokud je funkce
- je členská funkce (nebo rozšiřující funkce).
- má pouze jeden jediný parametr.
- je označen
infix
klíčovým slovem.
Příklad: Uživatelem definovaná funkce s Infix Notation
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) ( val p = Structure() p createPyramid 4 // p.createPyramid(4) )
Když spustíte program, výstup bude:
* * * * * * * * * * * * * * * *
Zde createPyramid()
je funkce infix, která vytváří pyramidovou strukturu. Je to členská funkce třídy Structure
, trvá pouze jeden parametr typu Int
a začíná klíčovým slovem infix
.
Počet řádků pyramidy závisí na argumentu předaném funkci.