scala.的Enumeration枚举示例(转)
简介
在scala中没有枚举类型,但在标准类库中提供了Enumeration类来产出枚举。扩展Enumeration类后,调用value方法类初始化枚举中的可能值。
内部类value实际上是一个抽象类,真正创建的是val。因为实际上是Val,所以可以为Value传入id和name。如果不指定,id就是在前一个枚举值id上加一,name则是字段名。
scala枚举示例
scala枚举示例object TrafficLightColor extends Enumeration {type TrafficLightColor = Valueval Red = Value(0, "Stop")val Yellow = Value(10)val Green = Value("Go") }object Margin extends Enumeration {type Margin = Valueval 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 Redval 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)} }
转载于:https://www.cnblogs.com/moonlightml/p/9047101.html
scala.的Enumeration枚举示例(转)相关推荐
- scala.Enumeration 枚举示例
简介 在Scala中并没有枚举类型,但在标准类库中提供了Enumeration类来产出枚举.扩展Enumeration类后,调用Value方法来初始化枚举中的可能值. 内部类Value实际上是一个抽象 ...
- Scala:Enumeration
2019独角兽企业重金招聘Python工程师标准>>> Scala:Enumeration scala的枚举的声明,与Java中声明有很大区别,Scala的枚举值有些特殊,它的关键是 ...
- 【Swift学习笔记00】——enumeration枚举类型遵循协议protocol
Apple官方文档:The Swift Programming Language Protocols and Extensions一节的小节练习,要求自行定义一个enumeration枚举类型,并且遵 ...
- java 枚举 示例_Java枚举name()方法及示例
java 枚举 示例 枚举类name()方法 (Enum Class name() method) name() method is available in java.lang package. n ...
- scala数据类型_Scala数据类型示例教程
scala数据类型 A data type tells the compiler about the type of the value to be stored in a location. The ...
- scala中断循环代码示例
实例 import scala.util.control._object Test {def main(args: Array[String]) {var a = 0;val numList = Li ...
- scala特性_Scala特性示例教程
scala特性 Scala Traits consists of method and field definitions that can be reused by mixing classes. ...
- Scala键盘录入代码示例
- Scala函数作为参数传递示例
使用匿名函数优化
最新文章
- the folder is already a source folder.
- 《Cacti实战》——第1章 认识Cacti
- Gdiplus中实现双Buffer绘图
- SQL Server 系统存储过程
- 创业冲突的五种解决方法是_不会说话,不懂处理人际冲突怎么办?《沟通的艺术》5步教会你...
- 受网友U2U之托,DevComponents出品的TreeGX最新版本Patch出炉
- String.raw()方法
- MySQL8.0版本升级建议及各类场景的操作方法
- 可以扦插的花有哪些?
- Eclipse Ctrl+Alt+↓ 失效问题解决
- 微信公众平台开发之微团购
- 工具记录,使用jarsigner 对APK进行签名
- ZYNQ FPGA程序固化流程
- 开源框架ZedGraph的使用
- 轻松学python(一)
- 一种车牌识别摄像机在立体车库中的应用方案
- 干货!因果推理的应用与发展 | PhD Debate-7
- 授权(mining.authorize)与 auth_stratum函数
- Dojo mobile TweetView 系列教程之三——Tweets和Mentions视图
- IOS版aplayer使用教程_Google地球 安卓手机版(教程)流畅使用