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

  • GALERNAYA20

    GALERNAYA20

    19 NİSAN 2011
  • sebsebdouze

    sebsebdouze

    7 ŞUBAT 2008
  • Truc Minh

    Truc Minh

    23 Ocak 2011