val s = Seq[Int]
ve varsa tüm elemanlarının üretimini almak istiyorum. Değerin Int.MaxValue
'dan büyük, ancak Long.MaxValue
'dan daha küçük olması garantilidir, bu yüzden değerin Long
türü olmasını umuyorum.Scala'da bir Seq [Int] uzun yazmalı üretimi nasıl elde edilir?
Ben nedeniyle Long
ve Int
herhangi ilişkilerin olmadan farklı türleri vardır gerçeğine product
/foldLeft
/reduceLeft
kullanamazsınız görünüyor; bu yüzden kendim için bir döngü yazmam gerekiyor. Bu hedefe ulaşmak için iyi bir yol var mı?
Not: Yalnızca yerleşik kütüphaneleri kullanma olasılığından bahsediyorum ama yine de aşağıda "çirkin" kodla sorun yok.
def product(a: Seq[Int]): Long = {
var p = 1L
for (e <- a) p = p * e
p
}
"t nedeniyle uzun ve Int herhangi ilişkilerin olmadan farklı olmasından ötürü ürün/foldLeft/reduceLeft kullanamazsınız görünüyor;" Bu yanlış. Cevabımı tam olarak –