2
我正在Scala中編寫一個數據結構(基本上是一個HashMap),它將採用一個元組(每次可能有不同數量的元組),並對其進行處理。一般地實現這一點,我定義的類型:具有多個子類型的Scala通用(元組)類型
type T <: Tuple1[_] with Tuple2[_,_] with Tuple3[_,_,_] with Tuple4[_,_,_,_] with Tuple5[_,_,_,_,_]
,然後將數據結構
val map = new HashMap[Int, T]
但這是醜陋的,因爲我有我每次要處理更多的參數,及時更改類型一個元組。有沒有定義一個通用的元組類型?
謝謝, Y.K.
也許你會對'Product'滿意?是的,它允許不僅傳遞元組,但它是非常通用的 –
爲什麼你將數據結構的值類型專門限制爲元組?你打算利用所有元組類型共有的某些屬性嗎? –
謝謝你的回覆。我將ds限制爲元組,因爲這是用戶最終會輸入的內容(例如(3,4.5,「foo」)),我想避免類型轉換。我可以使用產品是的,但是當我得到每個T後,我必須有不同類型的正則表達式匹配。類似varT匹配{case(_,_)=> ... case(_,_,_)=> ...}等等......對嗎? –