val s = Seq[Int]
とし、すべての要素の生産を得たいとします。値はInt.MaxValue
よりも大きく、Long.MaxValue
より小さくなることが保証されていますので、この値がLong
タイプであることを願っています。ScalaでSeq [Int]のロング型生産を取得するにはどうすればよいですか?
私が原因Long
とInt
はどんな関係のないさまざまな種類があり、実際にproduct
/foldLeft
/reduceLeft
を使用することはできませんようです。したがって私はforループを自分で書く必要があります。この目標を達成するための適切な方法はありますか?
注:私は、組み込みライブラリを使用する可能性を尋ねていますが、下の「醜い」コードでも問題ありません。実際に
def product(a: Seq[Int]): Long = {
var p = 1L
for (e <- a) p = p * e
p
}
うまく
foldLeft
作品は「tは事実のために長いとintはどんな関係なく、異なる種類があり、私は製品を使用することはできません/ foldLeft/reduceLeftようです。」これは間違っています。私の答え –