scala – 带尖括号的方法(<>)
发布时间:2020-12-16 09:23:44 所属栏目:安全 来源:网络整理
导读:方法名称中是否可以有尖括号. : class Foo(ind1:Int,ind2:Int){...}var v = new Foo(1,2)v(1) = 3 //updates ind1v1 = 4 //updates ind2 真正的情况显然比这更复杂!!我试图提供一个方便的用户界面. 解决方法 这个回应并不是太严重,只是证明这几乎可以用一些
方法名称中是否可以有尖括号. :
class Foo(ind1:Int,ind2:Int){...} var v = new Foo(1,2) v(1) = 3 //updates ind1 v<1> = 4 //updates ind2 真正的情况显然比这更复杂!!我试图提供一个方便的用户界面. 解决方法
这个回应并不是太严重,只是证明这几乎可以用一些黑客来实现.
class Vector(values: Int*) { val data = values.toArray def < (i:Int) = new { def `>_=`(x: Int) { data(i) = x } def > { println("value at "+ i +" is "+ data(i)) } } override def toString = data.mkString("<",",">") } val v = new Vector(1,2,3) println(v) // prints <1,3> v<1> = 10 println(v) // prints <1,10,3> v<1> // prints: value at 1 is 10 使用这个类,我们可以有一个使用<>而不是()用于“读取”和写入访问.编译器(2.9.0.1)如果>返回值.这可能是错误或滥用的结果. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |