'da birden çok örneği (eşleşme/durum) birleştirme instance.get
'un değeri döndürdüğüme ve buna göre I türüne göre işleme koyduğum bir kod var. kodunda Scala
instance.get match {
case v:Range => {
val sizeInBytes = util.conversion.Util.getBytesForBits(v.size)
val value = v.decode(contentByteArray.slice(index, index + sizeInBytes))
index += sizeInBytes
res(key) = value
}
case v:Encoding => {
val sizeInBytes = util.conversion.Util.getBytesForBits(v.size)
val value = v.decode(contentByteArray.slice(index, index + sizeInBytes))
index += sizeInBytes
res(key) = value
}
...
}
, ben
Range
ve
Encoding
türü için tekrarını var. İki vakayı nasıl birleştirebilirim?
|
numaralı telefonu denedim, ancak çalışmıyor. Aynı adlandırılır olmasına rağmen tamamen farklı iki yöntem vardır Range.size
ve Encoding.size
çünkü
case v:Range | v:Encoding
Hata mı alıyorsunuz?Bazı araştırmalar yaptım ve bu "alternatif modelde değişken ciltleme" türünün Scala tarafından izin verilmeyebileceğini düşünüyorum. Bkz. Https://issues.scala-lang.org/browse/SUGGEST-25 –
Durum v @ (Aralık | Kodlama) => {...} 'çalışır mı? –