fork download
  1. trait Num {
  2. def echo
  3. }
  4.  
  5. object Status extends Enumeration {
  6.  
  7. case class StatusVal(code: Int, name: String) extends Val with Num {
  8. override def echo {
  9. println("Number: " + name)
  10. }
  11. }
  12. val ONE = StatusVal(1, "One")
  13. val TWO = StatusVal(2, "Two")
  14. val THREE = StatusVal(2, "Three")
  15.  
  16. implicit def valueToNum(v: Value): Num = v.asInstanceOf[Num]
  17. }
  18.  
  19.  
  20. object Main extends App {
  21. Status.values foreach (s => s.echo)
  22. }
Success #stdin #stdout 0.43s 382080KB
stdin
Standard input is empty
stdout
Number: One
Number: Two
Number: Three