您的位置:首页 > 其它

Scala知识图谱

2017-02-06 12:30 288 查看

环境搭建

在SBT的项目中使用scala

console:在平时学习、表达式时,不方便调用的大型的intellij,如果直接使用scala,不能调用前期下载的库。这是可以使用

sbt
console

** 使用SBT构建Scala应用** >$ sbt ~compile
以上命令意味着, 我更改了任何源代码并且保存之后,将直接触发SBT编译相应的源代码以及相应的依赖变更。 假如我们有2个显示器, 左边是命令行窗口,右边是编辑器或者IDE窗口,那么,我们只要在右边的显示器中编辑源代码,左边的显示器就可以实时的反馈编译结果, 这将极大加快开发的迭代速度, 听起来并且看起来是不是很cool?!

** Scala入门之工具篇**

** scala sbt 代理设置**

** sbt下载加速器**

添加以下代码到你的文件中,这样可能会带来莫名的错误!! Enable the SBT plugin by adding

addSbtPlugin("io.get-coursier" % "sbt-coursier" % "1.0.1")

to ~/.sbt/0.13/plugins/build.sbt (enables it globally), or to the project/plugins.sbt file of an SBT project. Tested with SBT 0.13.8 / 0.13.9 / 0.13.11 / 0.13.12 / 0.13.13 / 0.13.15 / 0.13.16-M1 / 1.0.1-M5.

**sbt官方文档 **

> 持续构建和测试   为了加快编辑-编译-测试循环,你可以让 sbt 在你保存源文件时自动重新编译或者跑测试。 在命令前面加上前缀 ~ 后,每当有一个或多个源文件发生变化时就会自动运行该命令。例如,在交互模式下尝试:  > ~ compile 按回车键停止监视变化。 你可以在交互模式或者批处理模式下使用 ~ 前缀。 参见 触发执行 获取详细信息。

** How could I convert a pom xml to sbt dependencies?**

转换 pom.xml文件到 build.sbt文件。 - Place this code into a file called PomToSbt.scala next to pom.xml - Type scala PomtoSbt.scala > build.sbt - The dependencies from pom.xml will be extracted and placed into a complete build.sbt file.

学习例子

Scala 设计理念,作者亲自写的,翻译了成中文。适合有基础的人宏观上了解scala。

-Scala概述

类和对象(Classes and Objects)

基本类型和操作(Basic Types and Operations)

函数式对象()

内建控制结构()

函数和包

类型参数化

-Scala中的函数式特性-来自王宏江:非常建议通读一下全文:里面讲了对高阶函数的抽象,函数柯里化的作用。下面这种语句可以经常看到,但是在搜索时不好找的,在这篇文章里能很好解释:

类型的协变、逆变

函数和闭包

控制抽象

组合与继承

Scala的层级

特质

包和引用

断言和单元测试

样本类和模式匹配

使用列表

Scala容器类体系结构

集合类型

有状态的对象

类型参数化

Scala中有一个概念,叫做“视界”。所谓“视界”是指,我不care这个对象具体是什么类型,但我可以把它“视作”某种类型加以利用。

抽象成员

隐式转换和参数

Implicits-resolution

  • Implicits Resolution Type Level Programming in Scala step by step,文章浅显易懂。

实现列表

Scala容器类体系结构

For表达式

抽取器

注解

使用XML

使用对象的模块化编程

对象相等性

Scala和Java的结合

actor和并发

####Future 和 Promise:很多文章在讲future和promise时,只讲使用,没有将关键的性质,当一个future开始运行时,是在另一个线程空间内,因此就有回调之说。

def apply[T](body: =>T)(implicit executor: ExecutionContext): scala.concurrent.Future[T]

Yup. You got me there. The method also accepts something called an ExecutionContext as an implicit argument. When a block of code is used to construct a Future, the computation runs on an ExecutionContext. The ExecutionContext is synonymous with a ThreadPool and when a Future is started, it runs on a separate Thread.

Analyzing functions returning Future[T]: Not all rely on the Future.

Create actor区别 与 Scala lazy declarationAkka Actor Props factory:生成Actor有多种方法,为什么官方推荐使用Actoof(classOf[myActor])

连接符解析

Gui编程

奇淫异巧

关于Mondad

--Cats库附带的文档

其他资源:

应用实践

茶余饭后

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Scala