2011-07-09 35 views
11

Có cách nào để xác định rằng một đối tượng nhất định là một giá trị liệt kê?Scala liệt kê để int

x.isInstanceOf[Enumeration.$Value] dường như không hoạt động và từ những gì tôi hiểu về các loại phụ thuộc vào đường dẫn, không nên.

Tôi muốn viết một hàm cho bất kỳ giá trị liệt kê nào, trả về id của nó. Ngoài ra, một tiềm ẩn mà chuyển đổi các Enumeration để Int cũng sẽ là tuyệt vời.

Trả lời

2

Lớp scala.Enumeration.Value có trường thành viên 'id' là giá trị số nguyên bên trong. Nếu không được chỉ định cụ thể, nó bắt đầu từ 0.

scala> object Weekday extends Enumeration {   
    | val Mon, Tue, Wedn, Thur, Fri, Sat, Sun = Value 
    | } 
defined module Weekday 

scala> Weekday.Mon.id 
res5: Int = 0 
+0

Bạn nên giải thích mã của bạn- Nó nằm trong tình trạng không được xếp hạng là "bài đăng chất lượng thấp". – davidkonrad

+0

Làm thế nào để bạn xác định nó? – Ruslan

Các vấn đề liên quan