レシーバー付き関数リテラル

https://kotlinlang.org/docs/lambdas.html#function-literals-with-receiver

関数リテラル with receiver (レシーバー付き関数リテラル)

レシーバー付き関数型: A.(B) -> C

型A(レシーバー)に対して、(B) -> C 型の関数リテラルを埋め込むことができる。

  • レシーバーオブジェクト内のメソッドを呼び出すことができる
  • this式を使ってレシーバーオブジェクト(A)にアクセスすることができる

ラムダ式

val sum: Int.(Int) -> Int = { other -> plus(other) }
fun html(init: HTML.() -> Unit): HTML {
    val html = HTML()
    html.init() // 初期化メソッドの埋め込み
    return html
}

匿名関数

val sum = fun Int.(other: Int): Int = this + other

関連