1. public inline fun <T, R> T.run(block: T.() -> R): R {
    2. return block()
    3. }
    4. public inline fun <T, R> with(receiver: T, block: T.() -> R): R {
    5. return receiver.block()
    6. }
    7. public inline fun <T> T.apply(block: T.() -> Unit): T {
    8. block()
    9. return this
    10. }
    11. public inline fun <T> T.also(block: (T) -> Unit): T {
    12. block(this)
    13. return this
    14. }
    15. public inline fun <T, R> T.let(block: (T) -> R): R {
    16. return block(this)
    17. }

    1a70df5d611a5e78.png