scala2笔记
来源:互联网 发布:成都知美术馆要门票吗 编辑:程序博客网 时间:2024/05/20 15:41
目录
Scala的安装 1
window安装Scala: 1
window安装idea: 1
修改界面字体 2
使用IDEA创建项目和项目打包 3
新建项目 3
打成jar包 5
设置cmd属性 7
执行Scala命令行工具 8
Actor 8
装饰模式和继承的区别 10
为什么要使用装饰模式? 10
区别 10
scala中map与 flatMap的区别 11
Scala的安装
window安装Scala:
只需运行.exe文件,点击下一步即可,在cmd中验证
window安装idea:
需注意:
指定安装目录
配置环境:
Project SDK:是指定jdk的安装目录,就会出现图中所示
Scala SDK:需要安装Scala,安装后系统会自动识别,如图所示:
然后点击OK,就行。
修改界面字体
File -->Settings -->Editor --> General -->勾选Change font size (Zoom) with Ctrl + Mouse Wheel
使用IDEA创建项目和项目打包
新建项目
File --> New Project -->选择所建项目类型,指定项目名称
File --> Open Recent --> 切换项目。
File --> New -->Package -->创建包
右击创建好的包 -->创建Scala.class
右击包 --> New --> Scala WorkSheet -->
打成jar包
File --> Project Structure --> Artifacts (打成jar包) Libraries(添加jar包)-->点击+按钮--> JAR (把依赖也加上)-->
然后在点击Build --> Build Atifacts -->build
然后加此jar包拷贝到Window的一个目录中,打开cmd运行此jar包
设置cmd属性
点击窗口左上方管理员 -->设置相应属性
执行Scala命令行工具
REPL支持tab补全
输入命令s.con<tab>:表示的是在arr.后输入tab符。REPL将列出一组可能会被调用的方法名。
而在输入arr.toB时按Tab键,则会自动补全为arr.toBuffer
定义一个apply方法,传入两个参数x , xs, xs: Int*是一个可变长参数,返回类型是Array[Int]。{ }里面是方法体,方法体里创建一个Array的数组对象,长度是可变长参数xs + x,将参数x赋值给数组0的位置,然后迭代可变长参数依次从数组1的位置开始赋值。
Actor
创建Meven项目:
File -> new -> Project ->Meven ->
自动生成 Project name 、Project Location信息--> finish
然后在pom.xml文件中配置Meven的依赖信息
这些参数的配置可以在
Edit Configrations中传递,如果想要启动多个worker,只需要修改端口号,然后Apply,点击Worker旁边的执行按钮就可以启动另外一个worker
装饰模式和继承的区别
为什么要使用装饰模式?
在项目开发的过程中,当客户提出了一个新的需求(这个新的需求需要我们对我们的某个类进行改动),为了这个新的需求,当然我们会想到去扩展某个类,扩展类的功能我们可以使用继承和装饰来达到我们的目的。
区别
继承:被增强的对象固定,增强的内容也是固定的
装饰者模式:被增强的对象可以切换,装饰是通过构造函数参数传递进行增强,它避免了继承体系的臃肿。
scala中map与flatMap的区别
map:将一个函数传入map中,然后利用传入的这个函数(List(1,2,3)),将集合中的每个元素处理,并将处理后的结果返回。
map:
def map1(): Unit ={
valli =List(1,2,3)
valres = li.map(x => xmatch{
case3=>"hi"
case _ => "boy"
})
println(res)
}
List(boy, boy, hi)
flatMap:
def flatMap1(): Unit ={
valli =List(1,2,3)
valres= li.flatMap(x => xmatch{
case3=>"hi"
case _ => "boy"
})
println(res)
}
List(b, o, y, b, o, y, h, i)
既然是flatMap,那除了map以外必然还有flat的操作,所以需要返回值是List才能执行flat这一步。
- scala2笔记
- scala2
- scala2.0-杂记
- CentOS6.5安装Scala2.10.3
- scala2.11知识总结 1
- linux(centos7)下安装 scala2.11.6
- spark1.6.1及scala2.11.8安装配置
- Eclipse下安装Scala2.10.4插件
- Scala2.10.4的mutable和immutable区别
- IntelliJ IDEA13.1.3+Scala2.11.1环境搭建
- spark2.0-scala2.11.8-hadoop2.8.0配置
- Spark2.2.0 + Scala2.13.0集群搭建
- Linux部署Scala2.11.6开发环境
- Windows端部署Scala2.10.5开发环境
- ubuntu13+scala2.10.4+idea13+sublime+sbt环境搭建
- CentOS下安装Scala(事例为Scala2.11.7) 2015
- 最新版scala2.11.8与spark1.6.1一步到位安装
- Linux安装单机版Spark(CentOS7+Spark2.1.1+Scala2.12.2)
- ARP协议以及RARP协议
- 窗口组件
- 前端传ison数组 后端接收转换
- docker安装以及镜像加速
- 设计模式(一)--单例模式
- scala2笔记
- 【2017 ACM-ICPC 亚洲区(乌鲁木齐赛区)网络赛 】H Skiing 【求DAG图的最长路】
- 在Web上调用Ocx控件
- 667. Beautiful Arrangement II 找规律
- Android-组件化开发
- Tensorboard “No scalar data was found”,“No graph were found“, runs not found,sending 404
- Linux下统计代码变更行数
- iOS 录音文件格式转换 lame库
- Java微信支付开发之关闭订单