Dans Scala 2.7, l'énumération fournit Set32/Set64 pour créer un ensemble d'énumération et obtenir facilement la valeur bitwise dans Long/Int ou build enum à partir d'un paramètre Long/Int. valeur (qui facilite le stockage db). Scala 2.8 a supprimé ces classes. Y at-il un remplacement dans 2.8 lib?Comment obtenir la valeur Long/Int d'un ensemble d'énumération dans Scala 2.8
5
A
Répondre
2
La représentation est assez facile à mettre en œuvre et vous devez faire vous-même que la mise en œuvre interne des libs Scala peut changer et vos données seraient cassés:
object WeekDay extends Enumeration {
type WeekDay = Value
val Mon, Tue, Wed, Thu, Fri, Sat, Sun = Value
}
import WeekDay._
val values = Set(Mon,Wed,Fri)
require(values.length < 31)
(0 /: values) ((s, c) => s | 1 << c.id).toBinaryString
Gardez à l'esprit que le stockage de l'ordinal dans la la base de données est fragile: Storing EnumSet in a database?. Vous devriez choisir un ordinal stabile pour chaque valeur.
Questions connexes
- 1. Scala 2.8 CanBuildFrom
- 2. Comment utiliser l'annotation @PersistentCapable dans Scala 2.8
- 3. Scala 2.8 Breakout
- 4. Scala 2.8: _ comportement changé?
- 5. REST dans ascenseur 2.0 + Scala 2.8
- 6. Comment configurer SBT pour utiliser Scala 2.8?
- 7. Sortie différente de l'appariement sur la séquence dans Scala 2.8
- 8. Comment intégrer l'interpréteur Scala 2.8 dans une application Java?
- 9. Comment vérifier qu'un tableau contient une valeur particulière dans Scala 2.8?
- 10. IntelliJ IDEA 9 et Scala 2.8
- 11. Scala 2.8 TreeMap et commande personnalisée
- 12. scala 2.8 implict collections java conversions
- 13. Comment faire pour porter le code Scala 2.7.7 qui utilise scala.collection.jcl à Scala 2.8?
- 14. Comment obtenir la valeur la plus élevée d'un ensemble Delphi?
- 15. Un problème de conversions implicites dans scala 2.8
- 16. comment passer une chaîne * scala vararg à une méthode Java en utilisant Scala 2.8
- 17. Compiler le code Scala 2.8.x avec Apache Buildr
- 18. Scala 2.8: utiliser l'annotation Java avec un paramètre de tableau
- 19. scala 2.8 impliquer des conversions de Java conversions
- 20. maven et soulever avec scala 2.8: manquant de levage manquant?
- 21. nouveau Iterable {portage} Code de Scala 2.7.7 à 2.8
- 22. Utilisation du moteur de script Scala 2.8 d'Apache Sling
- 23. Scala 2.8 Document de conception d'acteur? Document de conception Akka?
- 24. Scala 2.8 - Problème potentiel avec des arguments nommés
- 25. Comportement étrange: Scala Acteurs 2.7.7 vs. 2.8-Snapshot
- 26. Scala swing 2.8 Comment définir la couleur de fond d'un Slider?
- 27. Comment obtenir la valeur
- 28. Récupère la valeur de fonction d'une méthode d'instance dans Scala
- 29. Comment obtenir la sémantique de Ponter/Reference dans Scala
- 30. Comment obtenir la valeur?
'/:' équivaut à 'foldLeft' – KevinO