SORU
24 Mart 2009, Salı


Neden Scala'in değişmez Set türünde değil kovaryant?

EDİT: Yeniden yazılan bu soruya orijinal bir cevap dayalı

scala.collection.immutable.Set Sınıf türü parametre olarak kovaryant değildir. Neden bu?

import scala.collection.immutable._

def foo(s: Set[CharSequence]): Unit = {
    println(s)
}

def bar(): Unit = {
   val s: Set[String] = Set("Hello", "World");
   foo(s); //DOES NOT COMPILE, regardless of whether type is declared 
           //explicitly in the val s declaration
}

CEVAP
31 Mayıs 2011, Salı


http://www.scala-lang.org/node/9764 Martin Odersky yazar:

"Ayarlar sorunu olmayan farkı da uygulamaları kaynaklanıyor sanırım. Ortak ayarlar anahtar tipi olmayan değişken bir dizi olan hashtables, olarak uygulanır. Biraz can sıkıcı bir düzensizlik olduğunu kabul ediyorum."

Yani, bunun için ilkeli bir neden oluşturmak için çalışmalarımızı tüm yanlış görünüyor :-)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Andrew_Huang

    Andrew_Huang

    10 ŞUBAT 2006
  • CNNMoney

    CNNMoney

    16 Kasım 2006
  • ICON

    ICON

    19 EKİM 2011