在ND4S微風鏈式索引產生Scala編譯器錯誤:鏈接索引的變通方法Scala編譯器錯誤?
var m = Nd4j.create(2, 3)
var a = m(0, ->)
var b = a(0)
var c = m(0, ->)(0)
前兩個工作,但第三個生產:
not enough arguments for method apply: (implicit ev: org.nd4s.NDArrayEvidence[org.nd4j.linalg.api.ndarray.INDArray,B], implicit ev2: scala.reflect.Manifest[B])org.nd4j.linalg.api.ndarray.INDArray in class RichINDArray.
我(0, 0)
,而不是(0)
因爲它仍然是2D嘗試,但那並不重要。和額外括號的許多變化。
難道這斯卡拉解析器認爲它是其他一些結構或ND4S錯誤?是否有一些可以使鏈接工作的解決方法?
編輯:
在微風:
var m = DenseMatrix.zeros[Int](5,5)
var a = m(0, ::)
var b = a(0)
var c = m(0, ::)(0)
a和b的工作但是C產生此編譯器錯誤:
type mismatch; found : Int(0) required: breeze.linalg.support.CanSlice2[breeze.linalg.DenseMatrix[Int],Int,collection.immutable.::.type,?]
也許這是解析作爲咖喱函數調用,或宏以在這裏不起作用的方式擴展。雖然我猜一個人從來不需要鏈接索引,因爲m(0, 0)
工作在上面,任何索引都可以摺疊,對於在這些情況下欺騙Scala的一般情況,是否有一些解決方案?
此外,多維數組鏈接的作品:
var n = Array.ofDim[Double](2, 3)
var x = n(0)(0)