2
科特林标准库包含接收对象和该对象的方法,该'with' method定义为:在Scala中可以用'等价方法表示kotlin'吗?
public inline fun <T, R> with(receiver: T, block: T.() -> R): R = receiver.block()
而且可以用作:
val str = "string"
with(str) {
println(size)) // will print 6; equals to "string".size
println(substring(3)) // will print (ing); equals to "string".substring(3)
}
如何在Scala中定义类似的方法?
我能看到的主要区别是kotlin的范围有限,而scala的导入范围并不是那么有限。尽管如此,它似乎是最好的斯卡拉是:) – pedrorijo91
@ pedrorijo91我已经更新了我的答案来解决这个问题。 – sjrd
'val str =“hello”:{def size:Int}'几乎可以工作,但'尺寸'不会警告反射访问。 (我希望在不知道转换名称或包装器的情况下避免反思。) –