使用 apply 初始化物件或實現方法連結

apply 的文件說明如下:

使用 this 值作為接收器呼叫指定的功能塊並返回 this 值。

雖然 kdoc 不是那麼有用,但 apply 確實是一個有用的功能。通俗地說,apply 建立了一個範圍,其中 this 被繫結到你稱之為 apply 的物件。這使你可以在需要在物件上呼叫多個方法時備用一些程式碼,稍後將返回該物件。例:

File(dir).apply { mkdirs() }

這和寫這個是一樣的:

fun makeDir(String path): File {
    val result = new File(path)
    result.mkdirs()
    return result
}