10
我刚开始用Scala和遇到了一个问题:遍历任意长度的元组
Scala有各类Tuple1
,Tuple2
,...,Tuple22
。在迭代查询时,Scalaquery返回元组。
我现在有一个给定的类(ZK的ListitemRenderer
),它接受Object
s并用行填充gui列表,每个行包含一些单元格。但是ListitemRenderer
不是通用的。所以我的问题是我有一个Object
“数据”,它实际上是一个任意长度的元组,我必须迭代创建单元格(只需使用data._1.toString
,...)。
由于没有我不知道超到Tuple1-22
,我不能不能只是做data.asInstanceOf[Tuple].productIterator foreach {…}
我可以做什么?
回答以下告诉我,的确有性状的所有元组 - Product
- 提供所需的foreach
功能。
,所以我做'data.asInstanceOf [产品] .productIterator的foreach {...}'? – 2011-05-24 22:15:14
@flying sheep:应该这样做,但是你可以将函数的'data'参数作为'Product'而不是'Any'或'AnyRef'输入(我想你的意思是说,当你说'Object'时) 。那会为你节省演员。 – kassens 2011-05-24 22:29:55
正如问题中所说:函数我在从一个非泛型接口实现一个函数,所以我不能改变键入和必须强制转换,除了scala有一种方法来monkeypatch接口是通用的。 – 2011-05-25 09:27:20