Anlayış scala Listeleme
Numaralandırma sınıfları Scala anlamadığımı söylemeliyim. Kopyala-yapıştır belgelerden örnek verebilirim, ama ne olup bittiği konusunda hiçbir fikrim yok.
object WeekDay extends Enumeration {
type WeekDay = Value
val Mon, Tue, Wed, Thu, Fri, Sat, Sun = Value
}
import WeekDay._
type WeekDay = Value
ne demek oluyor ve neden bunu yazmak zorunda mıyım?- Neden
val Mon = Value
? Bu da ne demek oluyor? - Neden
WeekDay
almak zorunda mıyım nesne? Ve, - ne zaman I
val day = WeekDay.Mon
nedenWeekDay.Value
yazın yazınWeekDay
mı yazıyorsun?
CEVAP
Enumeration
Bu özellik 12 ** yazın bir üye numaralandırma (aslında bir iç sınıf değil, ama buradaki fark önemli değil) tek tek öğeleri temsil eder.
Böylece object WeekDay
Bu tür üye devralır. 14* *satırı sadecediğer adı yazın. Yararlı aldıktan sonra, çünkü başka bir yerde import WeekDay._
ile bu tür, örneğin kullanabilirsiniz:
def isWorkingDay(d: WeekDay) = ! (d == Sat || d == Sun)
Bunun yerine, en az bir sürüm sadece şöyle olabilir:
object WeekDay extends Enumeration {
val Mon, Tue, Wed, Thu, Fri, Sat, Sun = Value
}
ve sen yoksungerekobject WeekDay
, içeriğini al ama yazın WeekDay.Value
ve üyelerini bireysel hak kazanmak için kullanmak gerekir. Yani örnek olacaktı
def isWorkingDay(d: WeekDay.Value) = ! (d == WeekDay.Sat || d == WeekDay.Sun)
İkinci soru val Mon, ... = Value
Anlamı Hakkında. Bu ise Enumeration
uygulanması halinde görünüyorsun ama gerçekten çok kafa karıştırıcı. Bu bir tür görev değil! Bunun yerine bir korunan çağırıyoraynı ada sahip bir yöntemTür somut bir örneği Value
döner , Value
,.
Bu kadar olur yazabilirsiniz val a, b, c = foo
Scala ve her değeri a
, b
c
yöntemi foo
denir tekrar ve tekrar. Enumeration
Bu numara her değeri tek tek, böylece dahili bir sayacı artırmak için kullanır.
Enumeration
Visibility: All
, üzerine tıklayın için Scala API docs açarsanız bu yöntem görünen göreceksiniz.
Dava Scala vs Listeleme nesneleri...
Anlayış Scala örtülü...
Scala TV izleme: Nasıl "- admin&q...
Nasıl ve Scala içinde bir JSON dize ya...
Anlayış Linux /proc/id/haritalar...