English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Kotlin 中間関数(infix)

この記事では、例を用いてKotlinで中缀記号を使用して関数を呼び出す方法(例を含む)を学びます。

中缀記号付きの関数を作成する方法を学ぶ前に、まず二つの一般的な中缀関数について研究しましょう。

||と&&&を使用する場合、コンパイラはそれぞれorとand関数を検索し、バックグラウンドでそれらを呼び出します。

これらの関数は中缀表現法をサポートしています。

例:Kotlinのor&and関数

fun main(args: Array<String>) {
    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")
}

このプログラムを実行すると、出力は以下のようになります:

result = true
result = false

上記のプログラムでは、a or bをa.or(b)に置き換え、a and bをa.and(b)に置き換えます。これは、これらの関数が中缀表現法をサポートしているため許可されています。

中缀記号付きの関数を作成する方法はどうですか?

Kotlinで関数呼び出しを行うために中缀表現法を使用できます、もし関数が

  • それはメンバ関数(または拡張関数

  • 引数が1つだけです。

  • 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()は、ピラミッド構造を生成する中間関数です。それはStructureクラスのメンバー関数であり、Int型の1つのパラメータを受け取り、キーワードinfixで始まります。

ピラミッドの行数は、関数に渡されるパラメータによって決まります。