Bir Liste (1, "1") aldığınızı varsayalım, bu liste doğru ve beklenen bir şekilde yazılmıştır. Şimdi listeyi buScala toplama tipi filtre için
ile eşlerseniz, sonuçta beklenen tür [Int] de beklenir. Sorum şu: Filtre için eşlenecek bir eşdeğer varsa, aşağıdaki örnek bir Liste [Any] ile sonuçlanacaktır. Mümkün mü? Bunun derleme zamanında çözülebileceğini ve muhtemelen çalışma zamanı olmadığını söyleyebilirim.
scala> List(1, "1") filter {
| case x: Int => true
| case _ => false
| }
Bu neden olduğunu sadece bir bekçi ile mümkün mü? –
Üzgünüz, bu çok aptalca bir yorumdu. Ama neden filter() partialMap gibi bir sonuç üretmiyor? –
@Joa 'filter' bir koleksiyonun türünü değiştirmez, çünkü öğelerini değiştirmez. –