私はスカラーで何かをしようとしています。スカラ:toArrayメソッドとマップメソッド
Array(Array(8.524 + 1.0, 6.375 + (-1.0), 17.043 + 2),Array(1.754 + 1.0, 3.509 + (-1.0), -1.754 + 2), Array(....)......)
以上のことを行うには、私のコードは、結果は私がtoArray
メソッドを使用
result: scala.collection.immutable.IndexedSeq[scala.collection.immutable.IndexedSeq[Double]] = Vector(Vector(9.524, 5.375, 19.043), Vector(2.754, 2.509, 0.246), Vector(13.69, -13.69, 27.38), Vector(5.355, 2.687, 4.8759999999999994))
ある
val result = for(i <- 0 until x.length) yield {
for(j <- 0 until y.length) yield x(i)(j) + y(j)
}
です:
scala> val x = Array(Array(8.524, 6.375, 17.043), Array(1.754, 3.509, -1.754), Array(12.69, -12.69, 25.38),Array(4.355, 3.687, 2.876))
x: Array[Array[Double]] = Array(Array(8.524, 6.375, 17.043), Array(1.754, 3.509, -1.754), Array(12.69, -12.69, 25.38), Array(4.355, 3.687, 2.876))
scala> val y = Array(1.0, -1.0, 2.0)
y: Array[Double] = Array(1.0, -1.0, 2.0)
は、私は次のようにそれらを追加しようとしましたresult
、取得するArray[scala.collection.immutable.IndexedSeq[Double]] = Array(Vector(9.524, 5.375, 19.043), Vector(2.754, 2.509, 0.246), Vector(13.69, -13.69, 27.38), Vector(5.355, 2.687, 4.8759999999999994))
しかし、私はArray(Array[Double])
を取得したいと思います、どうすればいいですか?
さらに、私は私が達成しz.map{x => Math.tan(x)}
を使用することができますMath.tan
val z = Array(1, 100, 200)
場合にresult
のすべての要素を変換しようとしました。
上記のような配列の形が得られた場合、どうすれば同じことができますか?
あなたのお時間をいただきありがとうございます。
結果の解釈は、forに渡すコレクションのタイプによって異なります。 '0〜x.length'が' Range'(これは 'IndexedSeq'です)です。それに基づいて、結果は 'IndexedSeq'であり、' Array'ではありません。 –
それでそれを説明します。ありがとう –