scala2笔记

目录

Scala的安装 1

window安装Scala 1

window安装idea: 1

修改界面字体 2

使用IDEA创建项目和项目打包 3

新建项目 3

打成jar 5

设置cmd属性 7

执行Scala命令行工具 8

Actor 8

装饰模式和继承的区别 10

为什么要使用装饰模式? 10

区别 10

scalamap 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

 

装饰模式和继承的区别

为什么要使用装饰模式?

在项目开发的过程中,当客户提出了一个新的需求(这个新的需求需要我们对我们的某个类进行改动),为了这个新的需求,当然我们会想到去扩展某个类,扩展类的功能我们可以使用继承和装饰来达到我们的目的。

区别

继承:被增强的对象固定,增强的内容也是固定的

装饰者模式:被增强的对象可以切换,装饰是通过构造函数参数传递进行增强,它避免了继承体系的臃肿。

scalamapflatMap的区别

map:将一个函数传入map中,然后利用传入的这个函数(List(1,2,3)),将集合中的每个元素处理,并将处理后的结果返回。

map:

def map1(): Unit ={
  valli = List(1,2,3)
  valres = li.map(x => x match{
    case3 =>"hi"
    case
_ => "boy"
  
})
  println(res)
}

List(boy, boy, hi)

 

flatMap:

def flatMap1(): Unit ={
  valli = List(1,2,3)
  valres= li.flatMap(x => x match{
    case3 =>"hi"
    case
_ => "boy"
  
})
  println(res)
}

List(b, o, y, b, o, y, h, i)

既然是flatMap,那除了map以外必然还有flat的操作,所以需要返回值是List才能执行flat这一步。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值