2010-06-28 8 views
5

스칼라 2.7에서 열거 형은 열거 형을 빌드하고 Long/Int에서 비트 값을 쉽게 가져 오거나 Long/Int에서 열거 형을 다시 빌드하도록 Set32/Set64를 제공합니다 값 (DB 저장을 용이하게 함). Scala 2.8에서는 이러한 클래스를 제거했습니다. 2.8 lib에 대체가 있습니까?스칼라에서 열거 형 집합의 Long/Int 값을 얻는 방법 2.8

답변

2

표현은 구현하기가 매우 쉽습니다 그리고 당신은 변경 될 수 있습니다 스칼라 libs와의 내부 구현으로이 스스로해야하고 데이터가 깨진 것 :

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 

는 것을 명심에서 순서를 저장 데이터베이스가 허약합니다 : Storing EnumSet in a database?. 각 값에 대해 안정적인 서수를 선택해야합니다.

+0

'/ :'은 'foldLeft'와 동등합니다. – KevinO