2016-01-29 4 views
6

Я расследую этот пример Котлин:Тип функции с приемником в Scala

class HTML { 
    fun body() { ... } 
} 

fun html(init: HTML.() -> Unit): HTML { 
    val html = HTML() // create the receiver object 
    html.init()  // pass the receiver object to the lambda 
    return html 
} 


html {  // lambda with receiver begins here 
    body() // calling a method on the receiver object 
} 

Я удивляюсь, как написать этот код в Скале? Как объявить в режиме scala функции с приемником?

ответ

6

В Скале нет эквивалента. Вы просто используете функцию, которая принимает HTML в качестве аргумента (возможно, как неявный аргумент, но это не отражается в типе и вряд ли в этом случае).

Смежные вопросы