}
def foo
(x
: Int
): String
= s
"${decorated.foo(2 * x)} decorated" }
def foo
(x
: Int
) = x.
toString })
println(foo1.foo(21))
// or
def fooDecorator
(decorated
: Int
=> String
)(x
: Int
): String
= s
"${decorated(2 * x)} decorated"
val foo2
: Int
=> String
= fooDecorator
(_.
toString)
println(foo2(21))
}
dHJhaXQgRm9vIHsKCWRlZiBmb28oeDogSW50KTogU3RyaW5nCn0KCmNsYXNzIEZvb0RlY29yYXRvcihkZWNvcmF0ZWQ6IEZvbykgZXh0ZW5kcyBGb28gewoJZGVmIGZvbyh4OiBJbnQpOiBTdHJpbmcgPSBzIiR7ZGVjb3JhdGVkLmZvbygyICogeCl9IGRlY29yYXRlZCIKfQoKb2JqZWN0IE1haW4gZXh0ZW5kcyBBcHAgewoJdmFsIGZvbzEgPSBuZXcgRm9vRGVjb3JhdG9yKG5ldyBGb28gewoJCWRlZiBmb28oeDogSW50KSA9IHgudG9TdHJpbmcKCX0pCgkKCXByaW50bG4oZm9vMS5mb28oMjEpKQoKCS8vIG9yCgoJZGVmIGZvb0RlY29yYXRvcihkZWNvcmF0ZWQ6IEludCA9PiBTdHJpbmcpKHg6IEludCk6IFN0cmluZyA9IHMiJHtkZWNvcmF0ZWQoMiAqIHgpfSBkZWNvcmF0ZWQiCgoJdmFsIGZvbzI6IEludCA9PiBTdHJpbmcgPSBmb29EZWNvcmF0b3IoXy50b1N0cmluZykKCQoJcHJpbnRsbihmb28yKDIxKSkKfQ==