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

  • CodingMadeEasy

    CodingMadeEa

    25 EYLÜL 2010
  • natescamp

    natescamp

    30 NİSAN 2009
  • Visual Life

    Visual Life

    3 Temmuz 2006