环境搭建
-
$ sbt ~compile
以上命令意味着, 我更改了任何源代码并且保存之后,将直接触发SBT编译相应的源代码以及相应的依赖变更。 假如我们有2个显示器, 左边是命令行窗口,右边是编辑器或者IDE窗口,那么,我们只要在右边的显示器中编辑源代码,左边的显示器就可以实时的反馈编译结果, 这将极大加快开发的迭代速度, 听起来并且看起来是不是很cool?! - 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.
- How could I convert a pom xml to sbt dependencies?:转换 pom.xml文件到 build.sbt文件。
学习例子
类和对象(Classes and Objects)
基本类型和操作(Basic Types and Operations)
函数式对象()
内建控制结构()
函数和包
类型参数化
-Scala中的函数式特性-来自王宏江:非常建议通读一下全文:里面讲了对高阶函数的抽象,函数柯里化的作用。下面这种语句可以经常看到,但是在搜索时不好找的,在这篇文章里能很好解释:
函数和闭包
控制抽象
组合与继承
- Introduction to Algebraic Types in Scala:18页的PPT,简单明了
Scala的层级
特质
包和引用
断言和单元测试
样本类和模式匹配
使用列表
集合类型
有状态的对象
类型参数化
- Java关于Scala的“视界(view bound)”的模拟
Scala中有一个概念,叫做“视界”。所谓“视界”是指,我不care这个对象具体是什么类型,但我可以把它“视作”某种类型加以利用。
抽象成员
隐式转换和参数
- 深入理解Scala的隐式转换系统
- Scala 隐式转换
- Scala implicits编程彻底实战及Spark源码鉴赏
- 褪去Scala的糖衣(10) – Implicit Function
- Demystifying Implicits and Typeclasses in Scala:> implicit conversions. If you define a one argument method with the implicit modifier, Scala uses that as a way to convert arguments of the input type to the output type in calls when this method is in scope.
实现列表
For表达式
抽取器
注解
使用XML
使用对象的模块化编程
对象相等性
Scala和Java的结合
actor和并发
连接符解析
Gui编程
奇淫异巧
- 浅谈 Scala 中下划线的用途
- scala的List容器里++和:::运算符有什么不同?:简单的说,两个算符(其实是函数)的效果是一模一样的。:::是 List 专有的函数,后来Scala 的 collection API 重新设计,加入了++函数,++定义在 trait TraversableLike 中,更加通用,但是 List 中已经存在的:::是不能删除的,要保留兼容性。
关于Mondad
其他资源:
awesome scala
-王宏江:中原Scala水平高的高人褪去Scala的糖衣:对Scala初学后,可以学习这个系列的博文。
utils4s(http://jacksu.github.io/utils4s)
a071800的专栏 (http://http://blog.youkuaiyun.com/a071800/article/details/47279951)
里面比较零碎,有比较少见的文法、句法。可以浏览看下。
What is the rationale behind having companion objects in Scala?(https://stackoverflow.com/questions/609744/what-is-the-rationale-behind-having-companion-objects-in-scala)输入链接说明
Scala泛函编程实践之路:博文里面有,泛函程序学习,Scalaz库学习。
- tpolecat comments about scala