Scala的安装,入门,学习,基础

1:Scala的官方网址:http://www.scala-lang.org/

推荐学习教程:http://www.runoob.com/scala/scala-tutorial.html

Scala是一种多范式的编程语言,其设计的初衷是要集成面向对象编程和函数式编程的各种特性。Scala运行于Java平台(Java虚拟机),并兼容现有的Java程序。

2:Scala的优点:   (1):优雅:这是框架设计师第一个要考虑的问题,框架的用户是应用开发程序员,API是否优雅直接影响用户体验。   (2):速度快:Scala语言表达能力强,一行代码抵得上Java多行,开发速度快;Scala是静态编译的,所以和JRuby,Groovy比起来速度会快很多。   (3):能融合到Hadoop生态圈:Hadoop现在是大数据事实标准,Spark并不是要取代Hadoop,而是要完善Hadoop生态。JVM语言大部分可能会想到Java,但Java做出来的API太丑,或者想实现一个优雅的API太费劲。

看到下面的图,突然想笑:

3:Scala的安装(Scala编译器安装,)

   (1):安装JDK:     因为Scala是运行在JVM平台上的,所以安装Scala之前要安装JDK;

 (2):Windows安装Scala编译器:

     访问Scala官网http://www.scala-lang.org/下载Scala编译器安装包,目前最新版本是2.12.x,但是目前大多数的框架都是用2.10.x编写开发的,所以这里推荐2.10.x版本,下载scala-2.10.6.msi后点击下一步就可以了;   (3):Linux安装Scala编译器:

1 下载Scala地址http://downloads.typesafe.com/scala/2.10.6/scala-2.10.6.tgz然后解压Scala到指定目录
2 tar -zxvf scala-2.10.6.tgz -C /usr/java
3 配置环境变量,将scala加入到PATH中
4 vi /etc/profile
5 export JAVA_HOME=/usr/java/jdk1.7.0_45
6 export PATH=$PATH:$JAVA_HOME/bin:/usr/java/scala-2.10.6/bin

4:Scala开发工具安装(个人喜好,Eclipse):

  目前Scala的开发工具主要有两种:Eclipse和IDEA,这两个开发工具都有相应的Scala插件,如果使用Eclipse,直接到Scala官网下载即可http://scala-ide.org/download/sdk.html。   由于IDEA的Scala插件更优秀,大多数Scala程序员都选择IDEA,可以到http://www.jetbrains.com/idea/download/下载社区免费版,点击下一步安装即可,安装时如果有网络可以选择在线安装Scala插件。这里我们使用离线安装Scala插件:

  推荐IDEA安装:http://www.cnblogs.com/xinhudong/p/8044292.html   (1):安装IDEA,点击下一步即可。由于我们离线安装插件,所以点击Skip All and Set Defaul   (2):下载IEDA的scala插件,地址http://plugins.jetbrains.com/?idea_ce

 (3):安装Scala插件:Configure -> Plugins -> Install plugin from disk -> 选择Scala插件 -> OK -> 重启IDEA;

5:开始学习Scala基础知识和语法:

这里先安装一下吧,下篇再开始学习Scala语法和基础知识:

打开官网,点击Download进行下载:

然后选择自己想要的版本:

然后我选择我想要版本:

拉到最下面,可以选择解压缩版本和安装版本进行下载即可:

scala-2.10.6.rpm是RedHat的,scala-2.10.6.deb是Debian的。

我这里两种window方式都下载了,使用解压缩的方式进行安装,方便,快捷:

解压缩操作就不说了吧,然后配置环境变量,如下所示:

右击我的电脑,单击"属性",进入如图所示页面。下面开始配置环境变量,右击【我的电脑】--【属性】--【高级系统设置】--【环境变量】,如图:

然后设置 Path 变量:找到系统变量下的"Path"如图,单击编辑。在"变量值"一栏的最前面添加如下的路径:%SCALA_HOME%\bin;

以上的为必须配置的,下面的我之前都配置了,这里贴一下。方便脑补。

设置 Classpath 变量:找到找到系统变量下的"Classpath"如图,单击编辑,如没有,则单击"新建":

  • "变量名":CLASSPATH
  • "变量值":.;%SCALA_HOME%\bin;%SCALA_HOME%\lib\dt.jar;%SCALA_HOME%\lib\tools.jar.;

注意"变量值"最前面的 .; 不要漏掉。最后单击确定即可。

检查环境变量是否设置好了:调出"cmd"检查。单击 【开始】,在输入框中输入cmd,然后"回车",输入 scala,然后回车,如环境变量设置ok,你应该能看到这些信息。

scala -version查看版本;

直接输入scala进行操作scala;

这里对网上使用eclipse安装scala插件的博客进行测试了一下,还可以用的,脑补一下,希望可以帮助到你:

使用eclipse下载极慢,看网速,推荐替换,解压缩以后把plugins和features复制到eclipse目录,重启eclipse以后即可,这样操作较快。

https://www.cnblogs.com/xiyuan2016/p/6626825.html

https://www.cnblogs.com/sunrise88/p/7130346.html

 1 IntelliJ Idea 常用快捷键列表
 2 
 3 Ctrl+Alt+t 选择代码块 try catch
 4 
 5 Alt+回车 导入包,自动修正
 6 Ctrl+N   查找类
 7 Ctrl+Shift+N 查找文件
 8 Ctrl+Alt+L  格式化代码
 9 Ctrl+Alt+O 优化导入的类和包
10 Alt+Insert 生成代码(如get,set方法,构造函数等) mac系统 fn+alt+回车
11 Ctrl+E或者Alt+Shift+C  最近更改的代码
12 Ctrl+R 替换文本
13 Ctrl+F 查找文本
14 Ctrl+Shift+Space 自动补全代码
15 Ctrl+空格 代码提示
16 Ctrl+Alt+Space 类名或接口名提示
17 Ctrl+P 方法参数提示
18 Ctrl+Shift+Alt+N 查找类中的方法或变量
19 Alt+Shift+C 对比最近修改的代码
20 
21 Ctrl+Alt+H打开方法调用结构    >>> 
22 
23 Shift+F6  重构-重命名
24 Ctrl+Shift+先上键
25 Ctrl+X 删除行
26 Ctrl+D 复制行
27 Ctrl+/ 或 Ctrl+Shift+/  注释(// 或者/*...*/ )
28 Ctrl+J  自动代码
29 Ctrl+E 最近打开的文件
30 Ctrl+H 显示类结构图
31 Ctrl+Q 显示注释文档
32 Alt+F1 查找代码所在位置
33 Alt+1 快速打开或隐藏工程面板
34 Ctrl+Alt+ left/right 返回至上次浏览的位置
35 Alt+ left/right 切换代码视图
36 Alt+ Up/Down 在方法间快速移动定位
37 Ctrl+Shift+Up/Down 代码向上/下移动。
38 F2 或Shift+F2 高亮错误或警告快速定位
39  
40 代码标签输入完成后,按Tab,生成代码。
41 选中文本,按Ctrl+Shift+F7 ,高亮显示所有该文本,按Esc高亮消失。
42 Ctrl+W 选中代码,连续按会有其他效果
43 选中文本,按Alt+F3 ,逐个往下查找相同文本,并高亮显示。
44 Ctrl+Up/Down 光标跳转到第一行或最后一行下
45 Ctrl+B 快速打开光标处的类或方法 

待续......

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏函数式编程语言及工具

Scalaz(10)- Monad:就是一种函数式编程模式-a design pattern

    Monad typeclass不是一种类型,而是一种程序设计模式(design pattern),是泛函编程中最重要的编程概念,因而很多行内人把FP又称...

207100
来自专栏函数式编程语言及工具

Scalaz(9)- typeclass:checking instance abiding the laws

  在前几篇关于Functor和Applilcative typeclass的讨论中我们自定义了一个类型Configure,Configure类型的定义是这样的...

20160
来自专栏函数式编程语言及工具

泛函编程(4)-深入Scala函数类

既然是泛函编程,多了解一下函数自然是免不了的了: 方法(Method)不等于函数(Function) 方法不是函数但可以转化成函数;可以手工转换或者由编译器(c...

216100
来自专栏函数式编程语言及工具

泛函编程(3)-认识Scala和泛函编程

接着昨天的文章,再示范一个稍微复杂一点的尾递归tail recursion例子:计算第n个Fibonacci数。Fibonacci数第一、第二个数值分别是0,1...

22570
来自专栏函数式编程语言及工具

Scalaz(6)- typeclass:Functor-just map

  Functor是范畴学(Category theory)里的概念。不过无须担心,我们在scala FP编程里并不需要先掌握范畴学知识的。在scalaz里,F...

24650
来自专栏函数式编程语言及工具

Scalaz(15)- Monad:依赖注入-Reader besides Cake

  我们可以用Monad Reader来实现依赖注入(dependency injection DI or IOC)功能。Scala界中比较常用的不附加任何Fr...

21770
来自专栏函数式编程语言及工具

Scalaz(12)- Monad:再述述flatMap,顺便了解MonadPlus

  在前面的几篇讨论里我们初步对FP有了些少了解:FP嘛,不就是F[A]吗?也是,FP就是在F[]壳子(context)内对程序的状态进行更改,也就是在F壳子(...

21270
来自专栏函数式编程语言及工具

实用的Scala泛函编程

      既然谈到实用编程,就应该不单止了解试试一个新的编程语言那么简单了,最好通过实际的开发项目实例来演示如何编程。心目中已经有了一些设想;想用Scala...

20750
来自专栏函数式编程语言及工具

Scalaz(8)- typeclass:Monoid and Foldable

  Monoid是种最简单的typeclass类型。我们先看看scalaz的Monoid typeclass定义:scalaz/Monoid.scala 1 t...

21290

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励