レシーバー付き関数リテラル
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