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

  • monkophile

    monkophile

    25 Temmuz 2007
  • The Onion

    The Onion

    14 Mart 2006
  • Visual Life

    Visual Life

    3 Temmuz 2006