scala.的Enumeration枚举示例(转)】的更多相关文章

简介 在scala中没有枚举类型,但在标准类库中提供了Enumeration类来产出枚举.扩展Enumeration类后,调用value方法类初始化枚举中的可能值. 内部类value实际上是一个抽象类,真正创建的是val.因为实际上是Val,所以可以为Value传入id和name.如果不指定,id就是在前一个枚举值id上加一,name则是字段名. scala枚举示例 scala枚举示例 object TrafficLightColor extends Enumeration { type Tra…
枚举 scala不用关注枚举的特别语法,取而代之的是标准库中的类, scala.Enumeration 想要创建新的枚举,只需要拓展这个类的对象即可 object Color extends Enumeration{ val Red = Value val Green = Value val Blue = Value } object Test3{ def main(args:Array[String]):Unit={ for (dir <- 0 to Direction2.maxId-1){…
Scala进阶之路-Scala中的枚举用法案例展示 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Scala中的枚举值和Java中的枚举值有点差别,不过使用起来也都差大同小异,我这里分别写了一个Java定义枚举类型和Scala定义枚举类型的案例. 一.Java中定义枚举类型案例展示 /* @author :yinzhengjie Blog:http://www.cnblogs.com/yinzhengjie/tag/Scala%E8%BF%9B%E9%98%B6%E4%B9%…
通常我们需要枚举参数不止两个,Scala提供的枚举类最多定义两个参数:id:Int与name:String.不能满足我们通常要求. object BaseEntryEnum extends Enumeration { type BaseEntryEnum = Value //item_base类别 val ITEM_TYPE_PURCHASE_CENTER = Value(31, "采购中心") val ITEM_TYPE_COMPANY = Value(32, "公司&qu…
Apple官方文档:The Swift Programming LanguageProtocols and Extensions一节的小节练习,要求自行定义一个enumeration枚举类型,并且遵循ExampleProtocol协议: protocol ExampleProtocol { var simpleDescription: String { get } mutating func adjust() } 在网上找了好久,都不知道怎样实现,最后参照一篇帖子(http://forums.m…
enumeration(枚举)是JDK1.5引入的新特性,放在java.lang包中. 1.枚举类方法介绍 package com.enums; public class TestEnum { public static void main(String[] args) { Season season = Season.autumn; System.out.println(season);//autumn System.out.println(season.compareTo(Season.au…
NX9+VS2012 public: void SetBlockUIShow(); void EnumInt::SetBlockUIShow() { //获取枚举控件 PropertyList* EnumProps = enum0->GetProperties(); int EnumValue = EnumProps->GetEnum("Value"); delete EnumProps; EnumProps = NULL; //得到ini类型值 //条件判断,当枚举为下拉…
object Closure { def function1(n: Int): Int = { val multiplier = (i: Int, m: Int) => i * m multiplier.apply(n, 2) } def function2(m: Int => Int) = m def function3(f: (Int, Int) => Int) = f val function4 = (x: Int) => x + 1 val function5 = (x:I…
public enum YNEnum { N(0,"否"), Y(1,"是"); private int code; private String name; //私有构造函数 private YNEnum(int code,String name) { this.code = code; this.name = name; } public int getCode() { return code; } public void setCode(int code) {…
本文详细地总结了Scala枚举的几种实现方式,对我们更好地进行函数式编程有很好地指导和帮助. Scala 枚举示例和特性 枚举(Enumerations)是一种语言特性,对于建模有限的实体集来说特别有用.一个经典的例子是将工作日建模为一个枚举:每个七天都有一个值.Scala和许多其他语言一样,提供了一种表示枚举的方法: object Weekday extends Enumeration { val Monday, Tuesday, Wednesday, Thursday, Friday, Sa…
C#编程利器之二:结构与枚举(Structure and enumeration) 在上一篇文章中,介绍了类如何封装程序中的对象.而实际中,出了类可以封装对象外,结构和枚举也可以封装一些对象,本文将着重介绍结构和枚举这两个知识点的相关应用. 一. 结构(Structure) 什么是结构(Structure)?在C#里,Struct是一种值类型,通常用来封装小型相关变量组,和类有很大的相似度.同类一样,它不但可以包含不同数据类型数据.还可以包含复合类型(数组,结构,DateTime等等)除了以名字…
scala没有从语法的角度来支持枚举,而是通过定义了一个接口Enumeration来支持的 object ExecutorState extends Enumeration{ type ExecutorState = Value val LAUNCHING, LOADING, RUNNING, KILLED, FAILED, LOST, EXITED = Value def isFinished(state:ExecutorState):Boolean = { Seq(KILLED, FAILE…
简介 spark graphx官网:http://spark.apache.org/docs/latest/graphx-programming-guide.html#overview spark graphx是基于spark core之上的一个图计算组件,graphx扩展了spark RDD,是spark对于图计算的一种抽象. 这里的图,不是“图画”的意思,是一种数据结构.这种数据结构由“点”和“线”组成,拿用户关系图来说,“点”描述的就是用户,“线”描述的就是这些用户之间的关系,所以由“点”…
[TOC] 标识符 可用的字符 处理括号类字符,分隔符之外,其他所有的可打印的ASCII字符,如字母,数字,下划线和美元符号($)均可出现在Scala标识符中 插入符包括了(,) [,] {,and} 分隔符包括 ` ' " . ; ,等 Scala还允许在标识符中使用编码在 \u0020到\u007F之间的字符,如数学符号,想 / 和 < 这样的操作符字符以及其他的一些符号 不能使用保留字. 普通标识符 常见的标识符往往由字母或下划线开头,后面跟着一些字母,数字,下划线和$符 Scala…
Scala中的对象 摘要: 在本篇中,你将会学到何时使用Scala的object语法结构.在你需要某个类的单个实例时,或者想为其他值或函数找一个可以挂靠的地方时,你就会用到它.本篇的要点包括: 1. 用对象作为单例或存放工具方法 2. 类可以拥有—个同名的伴生对象 3. 对象可以扩展类或特质 4. 对象的apply方法通常用来构造伴生类的新实例 5. 如果不想显式定义main方法,可以用扩展App特质的对象 6. 你可以通过扩展Enumeration对象来实现枚举 单例对象 Scala没有静态方…
1. 单例对象 Scala没有静态方法或静态字段,可以使用object来达到这个目的,对象定义了某个类的单个实例: object Account{ private var lastNumber = 0 def newUniqueNumber () = {lastNumber += 1; lastNumber} } 当你在应用程序中需要一个新的唯一账号时,调用Account.newUniqueNumber()即可.对象的构造器在该对象第一次被使用时调用.在本例中,Account的构造器在Accou…
Classes 一个源文件可包含多个类,每个类默认都是 public 类字段必须初始化,编译后默认是 private,自动生成 public 的 getter/setter :Person 示例 private 字段,生成 private 的 getter/setter val 字段,只生成 getter private[this] 字段,不生成 getter/setter 自定义 getter/setter,foo 和 foo_= 类方法默认都是 public 方法调用规约:访问器调用可省略括…
注:本文只说和Java不同的地方. 总结自: Scala详细教程 Scala教程 scala基础语法 Scala 与 Java 的最大区别是:Scala 语句末尾的分号 ";" 是可选的. def main(args: Array[String])Scala程序从main()方法开始处理,这是每一个Scala程序的强制程序入口部分. 换行符:Scala是面向行的语言,语句可以用分号(;)结束或换行符.Scala程序里,语句末尾的分号通常是可选的.如果你愿意可以输入一个,但若一行里仅有一…
基础 1.1 声明值和变量 在Scala中,鼓励使用val; 不需要给出值或变量的类型,这个信息可以从初始化表达式推断出来.在必要的时候,可以指定类型. 在Scala中,仅当同一行代码中存在多条语句时才需要用分号隔开. 1.2 常用类型 Scala 7中数值类型:Byte, Char, Short, Int, Long, Float和Double,以及Boolean类型.跟Java不同的是,这些类型是类.可以对数值执行方法,1.toString() Scala不需要类型包装,类型之间的转换是Sc…
概要 这一章,我们对Iterator和Enumeration进行比较学习.内容包括:第1部分 Iterator和Enumeration区别第2部分 Iterator和Enumeration实例 转载请注明出处:http://www.cnblogs.com/skywang12345/admin/EditPosts.aspx?postid=3311275 第1部分 Iterator和Enumeration区别 在Java集合中,我们通常都通过 “Iterator(迭代器)” 或 “Enumerati…
<script type="text/javascript"> /** * 这个函数创建一个新的枚举类型,实参对象表示类的每个实例的名字和值 * 返回值是一个构造函数,它标识这个新类 * 注意,这个构造函数也会抛出异常,不能使用它来创建该类型的新实例 * 返回的构造函数包含名/值对的映射表 * 包括由值组成的数组,以及以个foreach()迭代器函数 */ function enumeration(namesToValues){ //这个虚拟的构造函数式返回值 var en…
1. 单例对象 对于任何你在Java中会使用单例对象的地方, 在scala中都可以使用对象来实现; scala字段没有静态方法或者静态字段, 可以使用object语法结构达到同样的效果,对象(object)定义了某个类的单个实例; 对象构造器在对象第一次被使用时调用, 如果一个对象从来没有被使用过, 其构造器也不会被执行; 对象从本质本质上可以拥有类的所有特质, 只有一个例外, 你不能提供构造器参数 scala中对象的常见用法是: 作为存放工具函数或常量的地方 高效的共享单个不可变实例的地方 需…
1         枚举 1.1            枚举的作用 我们经常要定义一些常量值,例如日期(MONDAY,TUESDAY……)或者错误码等.可以将常量组织起来,统一进行管理.常量比较只是值的比较,而枚举的比较需要传入枚举类型,代码更加规范,例如IsWeekend(MONDAY),不会出现IsWeekend(0)这样含义不明的代码.枚举实际上一个继承java.lang.Enum的类,由于java单继承的特性,枚举不再继承其他类,只能继承接口:枚举可以定义函数.属性. 常量实例: pub…
1       快速入门... 4 1.1             分号... 4 1.2             常变量声明... 4 1.2.1         val常量... 4 1.2.2         var变量... 4 1.2.3         类型推导... 5 1.2.4         函数编程风格... 5 1.3             Range. 5 1.4             定义函数... 6 1.5             while.if 6 1.6…
1:双重for循环(相当于j是i的内存循环):for (i <-0 to n; j <-10 to 20){ println(i);println(j)} 2:单层for循环:for (i <-0 to n) print(i) 3:单层for循环(不包含上限):for (i <-0 until n) print(i) 4:break需要借助breakable: import scala.util.control.Break._ n=10 breakable { for (i <…
对象:Object 1.单例对象 2.伴生对象 3.扩展类或特质的对象 4.apply方法 5.应用程序对象 6.枚举1.单例对象 Scala中没有你静态方法或静态字段,可以用object这个语法结构来实现这个目的.对象定义某个类的单个实例,包含了你想要的特性 object ObjectOps { private var lastNumber = 0 def newUniqueNumber() = {lastNumber+=1;lastNumber} /* *对象的构造器在该对象第一次被使用时调…
1.scala当中的Object 在scala当中,没有类似于像java当中的static修饰的静态属性或者静态方法或者静态代码块之类的,但是我们可以通过scala当中的Object来实现类似的功能.可以理解为scala当中的Object里面的属性或者方法都是静态的,可以直接调用定义一个class类,然后在class类当中定义一个Object的对象.object对象当中的所有属性或者方法都是静态的     class Session {       def hello(first:Int):In…
排版乱?请移步原文获得更好的阅读体验 1.单例对象 scala中没有静态类或者静态方法,都是通过object实现的,它表示某个类的单例对象.如object People是class People的单例对象. 2.伴生对象 java中有些类可能会既有静态方法又有实例方法,在scala中静态方法存在于对象中,也就意味中scala中需要有这么一个东西,它既是类,也含有对象.其中的对象就是类的伴生对象,同样的,类就是对象的伴生类.需要注意的是类和它的伴生对象可以相互访问私有属性,它们也必须存在于同一个源…
版权声明:http://blog.csdn.net/qq924862077/ Enumeration(枚举)接口的作用和Iterator类似,只提供了遍历Vector和HashTable类型集合元素的功能,不支持元素的移除操作.   Java8中Enumeration接口的源码: public interface Enumeration<E> {/** * Tests if this enumeration contains more elements. * * @return <cod…
一.本章要点 用对象作为但例或存放工具的方法 类可以拥有一个同名的伴生对象 对象可以扩展类或特质 对象的apply方法通常用来构造伴生类的新实例 如果不想显示定义main方法,可以扩展App特质的对象 你可以通过扩展Enumeration对象来实现枚举 二.单例对象 Scala没有静态方法或静态字段,可以使用object语法结构达到同样的目的,对象定义了某个类的单个实例,包含了你想要的特性. 例:直接调用Accounts.newUniqueNumber()就可以创建一个新的唯一帐号,对象的构造器…