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

  • Michael Zhang

    Michael Zhan

    8 EYLÜL 2012
  • theKGB65

    theKGB65

    24 Aralık 2007
  • TROPFEST

    TROPFEST

    27 Mart 2007