1. var & val
var 变量,可变
val 类似常量,不可变
2. map/reduce
val list = List(1,2,3,4,5,6) list.map( f => println(s"val: $f") ) // val:1 xxx val:6 val sum = list.reduce( (sum, n) => sum+n ) // 21
3. 泛型
scala泛型设计太过复杂,泛型支持多个奇怪的操作符,如:<: >: <% T:class T:Ordering
3.1 上下边界 <: >:
A <: B A是B的子类
// 基类 class Person(val name: String) { def talk(person: Person){ println(this.name + " talk to " + person.name) } } // 派生类 class Worker(name: String) extends Person(name) // 普通类 class Dog(val name: String) /** * 泛型为[] * <: 上边界,指明本身及派生类 */ class Club1[T <: Person](p1: T, p2: T){ def communicate = p1.talk(p2) } // 测试代码 val p = new Person("Spark") val w = new Worker("Scala") new Club1(p, w).communicate // 无参调用可省略(),输出: Spark talk to Scala
3.2 view bound <%
A <% B A可以转化B,需要一个隐式转换函数。
// <% class Club2[T <% Person](p1: T, p2: T){ def communicate = p1.talk(p2) } // 隐式转换函数 implicit def dog2Person(dog: Dog) = new Person(dog.name) val d = new Dog("Dog") new Club2[Person](p, w).communicate // 对象擦除至Object,需[object]强转。 输出:Spark talk to dog
3.3 逆变和协变 +T -T
+T Container[A]是Container[B]的子类
// Earth class Earth { def sound(){ println("Hello") } } // Animal class Animal extends Earth{ override def sound() = { println("Animal sound") } } // Bird class Bird extends Animal{ override def sound() = { println("Bird sound") } } // Container class Space[+T] { println("Hello space") } // 测试代码 var a = new Space[Animal] a = new Space[Bird] // Bird为Animal子类,ok // a = new Space[Earth] // Earth为父类,error
输出:
hello space
hello space
相关推荐
最新的Citect SCADA 2018软件,软件为ISO安装文件,由于安装文件太大,切分成2个文件上传,这是第二个压缩包
SCADA、检漏系统运行管理制度 一、 范围 为了确保我公司管线的平稳安全运行,做好公司总调、处级二调SCADA、检漏系统 设备的运行维护工作,从而提高SCADA、检漏系统的管理水平,特制定本规定。 本规定明确了公司总调...
西门子 SCADA 系统-2zip,西门子 SCADA 系统
数据显示,中国SCADA行业市场规模(以销售额计)由2014年的77.1亿元稳步上升至2018年的100.2亿元,年复合增长率为6.8%,这主要得益于中国政府鼓励工业企业利用工业自动化技术对工业生产过程进行管理、监测,在此期间...
SCADA中级培训课程_v2.ppt
二、原理 SCADA系统的通信 在SCADA系统中,实时调度网的通信技术性能是全面衡量整个系统技术经济指标的重要内容,实时工业网络的通信技术性能包括通信拓扑结构、网络规划、网络规约等。根据大众燃气供气输配调度的...
[第2讲]Wonderware SCADA 传统架构组成、特点介绍flv,(1)通用SCADA的结构及其组成部分(2)通用SCADA的结构及其组成部分(3)Wonderware通用SCADA软件的特点(4)Wonderware的SCADA软件体系: A.开发环境B.人机...
[第10讲]从传统监控到SCADA应用,WEB技术的应用、价值及发展flv,主要内容包括:1. Information Server是Wonderware系统平台的关键组件。2. Information Server。3. Wonderware Information Server概述。4. ...
法国彩虹 PcVue SCADA解决方案pdf,法国彩虹 PcVue SCADA解决方案
SCADA系统培训第2章数据通信与网络技术.pptx
最新的Citect SCADA 2018软件,软件为ISO安装文件,由于安装文件太大,切分成2个文件上传,这是第一个压缩包
#资源达人分享计划#
2.数据采集、归档、预警及配置工具 支持实时数据采集、历史数据归档、变量触发预警,并使用TagConfig工具简单的配置实现。 3.人机界面(设计时和运行时) *设计时: 采用Microsoft Visual Studio + 设计器插件(在VS...
使用Django框架构建的具有HTML5 HMI的开源SCADA系统。 如果您想设置自己的SCADA系统,请转到 。 特征 基于HTML5的HMI 支持以下工业协议 Modbus TCP / IP Modbus RTU Modbus ASCII Modbus二进制 Phant 签证 1...
着重讨论如何利用多业务传送平台(MSTP)的二层交换功能实现电~SCADA系统传输带宽的 统计复用,通过对各种可能的解决方案进行深入比较分析,特别是从原理上深入分析MSTP和二层交 换机在二层交换实现方式上的区别,...
基于SCADA数据的深度学习堆叠自编码模型齿轮箱油温预警 (2).pdf
# This file contains (i) proprietary rules that were created, tested and certified by # Sourcefire, Inc. (the "VRT Certified Rules") that are distributed under the VRT # Certified Rules License ...
工业4.0之SCADA系统介绍20151028.part2rar,提供“工业4.0之SCADA系统介绍20151028.part2”免费资料下载,主要包括什么是SCADA系统、SCADA系统结构、SCADA系统典型架构、SCADA系统的应用等内容,可供学习使用。
Hanbook de sistemas SCADAs
数字数传电台与二次仪表实现SCADA系统pdf,数字数传电台与二次仪表实现SCADA系统