Volání funkce Kotlin pomocí notace Infix

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 bmísto toho a.or(b), a a and bmí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 infixklíč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 Inta začíná klíčovým slovem infix.

Počet řádků pyramidy závisí na argumentu předaném funkci.

Zajímavé články...