Scala学习2 –变量和函数
上次留下的几个问题仍然留着,估计这一节仍然不会得到答案,但是不要着急,就像上一节说的——且慢慢等着看着,答案自然会出现。 变量 Scala中的变量分为两大类:val和var。 val类似Java中的final关键字——变量一旦完成了初始化就不可以再被更改。 var则类似非final变量,可以在生命周期中被多次赋值。 来个示例,也许给个截图更好:...
View ArticleScala学习3 – scala脚本
scala也可以用来写脚本,这一点真的很出乎我的意料之外的。 之前,也曾经在scala的命令行(解释器)中直接执行过print函数的。我们也可以把print(“Hello World!!”)写在一个.scala文件里面,然后在命令行执行这个文件。这就是脚本的执行方式了。 来看个实例,下面是scala脚本文件的内容: 这个脚本在IDE里编写会报错,且无法执行。在命令行(解释器)执行一下:...
View ArticleScala学习4 –循环
先想一下Java中的循环方式,大致有四种:while()循环, do{}while()循环,for循环,for-each增强循环(枚举循环)。scala的循环大体上也是这样,不过会更丰富一些。 为了方便起见,接下来一概使用scala对象编写简单的程序,不再会使用scala脚本的方式写代码了——在IDE中不好使(或者是我还没有发现)。 while循环 一个while循环的实例: def loop(){...
View ArticleScala学习5 –参数化、数组以及其他
参数化 这里有一个有趣的概念:参数化。 参数化的意思是在创建实例的时候设置它。 参数化有两种场景:一是值参数化,一是类型参数化。 值参数化 值参数化是通过把加在括号里的对象传递给实例的构造器的方式来用值参数化实例。...
View ArticleScala学习7 –初识Tuple
想想在Java中,如果需要一个包含不同类型数据的对象,我们会怎么做?最常见的思路(我只能想到这一个,当然使用序列化手段不算)就是将不同类型的数据封装为一个JavaBean。 在Scala中则非常简单,直接使用元组即可。看一下下面的程序: var robinTuple = ("robin", 30, 'M', "China Beijing"); println(robinTuple)...
View ArticleScala学习8 – Set和Map
概述 先来看张图: 这个很像Java的UML图。勉强按UML图来理解下。这张图里有几个比较有趣的地方: 一个新的概念——trait; Set和Set、Set和HashSet全部都是继承关系; 提供了immutable和mutable两套集合方案。 接下来挨个解释下。 trait...
View Articleintellij idea查看scala sdk的源代码
下载源代码 点击这个链接:http://www.scala-lang.org/download/all.html; 选择需要的版本点击打开; 在新打开的网页下方找到源代码下载项: 在intellij idea设置指向源代码 在intellij中打开File –> Project Structure,快捷键(Ctrl + Alt + Shift + s); 选择Global Libraries...
View ArticleHello Akka
Akka是一个工具,用来在JVM上构建高并发、分布式、容错的事件驱动的应用。Akka支持java和scala两种语言。Akka最强大的一个特性是使用了并发Actor模型。 这一次本文会同时使用java和scala来进行说明。 示例代码 下面是一个非常简单使用akka的的例子。 java(做了折叠): package akka; import akka.actor.*; import...
View Article使用sbt-assembly提示unresolved dependency
在使用sbt-assembly打包的时候遇到失败。报的错误信息如下: Error:Error while importing SBT project:<br/>...<br/><pre> [info] Resolving org.codehaus.jackson#jackson-mapper-asl;1.9.11 ... [info] Resolving...
View Article使用Gradle构建scala多模块工程
前段时间终于无法忍受sbt慢如龟速的编译打包速度了。稍稍调研了一下,就果断切换到了gradle。由于调研得比较匆忙,在使用过程中遇到了各种问题。好在最后都能解决了。 我这里使用scala主要是用来编写spark job。由于我自己的一些需要,这些job中有几个是多模块的。在这里简单解释一下如何使用gradle构建scala多模块项目。...
View Articlesbt下载加速方案
本来不太想使用sbt,但是公司这边普遍要求使用sbt来进行部署。所以,so! sbt的语法什么的还好,唯一让人无法忍受的是sbt下载依赖的速度 —— 在国内大环境下实在是慢到了让人抓狂的程度。 要提升sbt下载依赖的速度,方法无非是那么几个:土豪可以考虑使用VPN,不想花钱可以考虑替换repository。 下面贴一下我用的repositories,并简单说明下。[repositories]...
View Article使用maven构建scala项目
构建及编译scala工程我使用过三种工具:sbt、gradle和maven。 感谢GFW,sbt的速度慢得让人心碎。即使使用诸如广谈公服等加速方案,也还是会遇到各种各样的问题(比如时不时的lock住)。所以pass。...
View Article
More Pages to Explore .....