2016-01-29 7 views
6

Ich untersuche dieses Kotlin Beispiel:Funktionstyp mit dem Empfänger in 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 
} 

Ich frage mich, wie Sie diesen Code in scala zu schreiben? Wie deklariert man in Scala Funktionstyp mit Empfänger?

Antwort

6

Es gibt keine Entsprechung in Scala. Sie würden einfach eine Funktion verwenden, die HTML als Argument (möglicherweise als implizites Argument, aber das ist nicht in der Art und unwahrscheinlich in diesem Fall widerspiegeln).