我有用於存儲不同類型矩陣的代碼,例如, m1: Array[Array[Double]], m2: List[List[Int]]
。如所看到的,這些矩陣全部被存儲爲一系列行。任何行都很容易檢索,但列在我看來需要遍歷矩陣。我想寫一個非常通用的函數,從這些類型的矩陣中返回一列。我已經在很多方面寫了這個,其中最新的是:scala矩陣的通用列訪問
/*獲取存儲在任何行矩陣的列*/
private def column(M: Seq[Seq[Any]], n: Int, c: Seq[Any] = List(),
i: Int = 0): List[Any] = {
if (i != M.size) column(M, n, c :+ M(i)(n), i+1) else c.toList
這將編譯但它不工作:我得到當我嘗試傳入數組[數組[雙]]時,類型不匹配。我試圖用一些視圖邊界來寫這個,即
private def column[T1 <% Seq[Any], T2 <% Seq[T1]] ...
但是這也不是富有成效的。我寫的第一個代碼段如何不起作用?做這個的最好方式是什麼?
沒有運氣:類型不匹配; [error] found:Array [Array [Double]] [error] required:Seq [Seq [Double]] [error]在涉及默認參數的應用程序中發生錯誤。 – akobre01
我認爲你已經轉換到Seqs – pedrofurla