SORU
24 AĞUSTOS 2009, PAZARTESİ


Ne tür-güvenli numaralama çeşitleri model için?

Scala denkliği yok enumJava var gibi. İlgili sabitler verildi, Scala ve en iyi yolu bu sabitleri temsil etmek için ne olurdu?

CEVAP
24 AĞUSTOS 2009, PAZARTESİ


Örnek söylemeliyimScala belgeleri dışında kopyalanmıştarafındanskaffmanyukarıdaki uygulamada sınırlı yarar. (case objects kullanabilirsiniz).

Almak için bir şey en yakından benzeyen bir Java Enum (yani mantıklı toString valueOf yöntemleri -- belki sen ısrar numaralandırma değerleri için bir veritabanı) için Değiştir biraz. Eğer kullanmış olsaydınızskaffman's kod:

WeekDay.valueOf("Sun") //returns None
WeekDay.Tue.toString   //returns Weekday(2)

Aşağıdaki bildirimi kullanarak: oysa

object WeekDay extends Enumeration {
  type WeekDay = Value
  val Mon = Value("Mon")
  val Tue = Value("Tue") 
  ... etc
}

Daha mantıklı sonuçlar alırsınız:

WeekDay.valueOf("Sun") //returns Some(Sun)
WeekDay.Tue.toString   //returns Tue

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Angry Paintballer

    Angry Paintb

    8 Ocak 2012
  • NPR

    NPR

    22 NİSAN 2006
  • xCraash

    xCraash

    6 Temmuz 2012