scala枚举
来源:互联网 发布:阿里云推广 产品 编辑:程序博客网 时间:2024/05/01 06:14
摘要: 在Scala中并没有枚举类型,但在标准类库中提供了Enumeration类来产出枚举。扩展Enumeration类后,调用Value方法来初始化枚举中的可能值。
简介
在Scala中并没有枚举类型,但在标准类库中提供了Enumeration类来产出枚举。扩展Enumeration类后,调用Value方法来初始化枚举中的可能值。
内部类Value实际上是一个抽象类,真正创建的是Val。因为实际上是Val,所以可以为Value传入id和name
如果不指定,id就是在前一个枚举值id上加一,name则是字段名
scala枚举示例
object TrafficLightColor extends Enumeration { type TrafficLightColor = Value val Red = Value(0, "Stop") val Yellow = Value(10) val Green = Value("Go")}object Margin extends Enumeration { type Margin = Value val TOP, BOTTOM, LEFT, RIGHT = Value}import test.TrafficLightColor._import test.Margin._object Driver extends App { println(BOTTOM, BOTTOM.id) def doWhat(color: TrafficLightColor) = { if (color == Red) "stop" else if (color == Yellow) "hurry up" else "go" } //使用match匹配 def doWhat2(color: TrafficLightColor) = color match { case Red => "stop" case Yellow => "hurry up" case _ => "go" } // load Red val red = TrafficLightColor(0) // Calls Enumeration.apply println(red, red.id) println(doWhat(red)) println(doWhat2(TrafficLightColor.Yellow)) //打印出所有枚举 Margin.values.foreach { v => println(v,v.id)}}
0 0
- scala枚举
- [Scala--基础]---Scala枚举使用
- scala.Enumeration 枚举示例
- 谈谈Scala中的枚举
- Scala之枚举
- scala 枚举类
- Scala Enumerate (枚举)
- Scala里面如何使用枚举
- Step into Scala - 12 - 对象与枚举
- scala的for循环 :枚举的“瑞士军刀”
- scala 中如何 声明 枚举对象
- 45.scala编程思想笔记——枚举
- Scala学习4之快学scala第六章习题之6.6花色枚举
- Scala
- Scala
- scala
- scala
- Scala
- 知识补充:在本地和gitlab上创建新分支以及字符串strcpy和直接等于
- 分布式缓存--系列2 -- Redis Cluster
- ACM日志 字符串统计 (java)
- debug版本与release版本
- ORB-SLAM2详解(四)跟踪
- scala枚举
- 161125
- HTML循环取JSON数组里面的数据,添加容错判断。
- 浅谈Struts2拦截器的原理与实现
- ajax视频拖拽上传
- 几年的放纵,换来的可能就是一生的卑微和坎坷。
- windows程序设计 win32 API 获取系统内存信息 GlobalMemoryStatus 和 GlobalMemoryStatusEx
- J2SE第六章——常用类(三)包装类
- xyz