本月博客排行
-
第1名
龙儿筝 -
第2名
zysnba -
第3名
johnsmith9th - wy_19921005
- sgqt
年度博客排行
-
第1名
宏天软件 -
第2名
青否云后端云 -
第3名
龙儿筝 - gashero
- wallimn
- vipbooks
- benladeng5225
- wy_19921005
- fantaxy025025
- javashop
- qepwqnp
- e_e
- 解宜然
- zysnba
- ssydxa219
- sam123456gz
- ranbuijj
- arpenker
- tanling8334
- kaizi1992
- xpenxpen
- gaojingsong
- wiseboyloves
- xiangjie88
- ganxueyun
- sichunli_030
- xyuma
- wangchen.ily
- jh108020
- zxq_2017
- jbosscn
- lemonhandsome
- luxurioust
- Xeden
- lzyfn123
- forestqqqq
- zhanjia
- nychen2000
- ajinn
- wjianwei666
- johnsmith9th
- hanbaohong
- daizj
- 喧嚣求静
- silverend
- mwhgJava
- kingwell.leng
- lchb139128
- lich0079
- kristy_yy
最新文章列表
Ruby vs Scala
1. no ; at the end of lines
2. base operate
scala: val list = Array(1,2,3,4) list.filter( _ % 2 == 0) list.filter{e: Int => (e % 2 == 0)}ruby: list = [1,2,3,4] list.select{|x| x % ...
Effective Scala
http://twitter.github.io/scala_school/zh_cn/index.html
Scala是Twitter使用的主要应用编程语言之一。很多我们的基础架构都是用scala写的,我们也有一些大的库支 持我们使用。虽然非常有效, Scala也是一门大的语言,经验教会我们在实践中要非常小心。 它有什么陷阱?哪些特性我们应该拥抱,哪些应该避开?我们什么时候 ...
Scala语言会取代Java的吗?
曾经有人问Java的创始人高斯林这样一个问题,“除了Java语言以外,您现在还使用JVM平台上的哪种编程语言?”他毫不犹豫的说是Scala。
Scala到底是什么?在目前众多的JVM语言当中,Scala无疑是最引人注意的语言之一。Scala是一个静态语言,更适合大型工程项目,Scala直接编译成Java字节码,性能接近Java。Scala是一个多范式的语言,你可以混合使用函数式和面 ...
Start Scala
http://www.scala-lang.org/download/
ubuntu下安装scala语言
1、下载scala压缩包
http://www.scala-lang.org/download/
2、建立目录,解压文件到所建立目录
$ sudo mkdir /opt/scala
$ sudo tar zxvf scala-2.11.2.tgz -C ...
flume与kafka集成
1、flume配置文件
agent1.sources = r1
agent1.channels = c1
agent1.sinks = k1
agent1.sources.r1.type = exec
agent1.sources.r1.command = tail -F /opt/soft/tomcatloging/logs/test.log
agent1.sources.r1 ...
scala入门
scala入门
SCALA,英文名:Scalable Language;中文名:可伸缩的语言, 是一门多范式的编程语言,一种类似java的编程语言,设计初衷是要集成面向对象编程和函数式编程的各种特性。
1 安装 Scala
这个章节描述了如何安装Scala 的命令行工具, 以便可以尽快让Scala 跑起来。
访问Scala 的官方网站 。要安装Scala
Scala基础(9)- 列表
列表(List)应该是使用最多的数据结构了。
列表的构造
注意列表中的元素类型必须一致。
val fruit = List("apples", "oranges", "pears")
val nums: List[Int] = List(1, 2, 3, 4)
构造列表的两个基本单位是Nil和::。上面的构造可以写成
Scala基础(8)- 模式匹配
Scala强大的模式匹配机制,可以应用在switch语句、类型检查以及“析构”等场合。样本类对模式匹配进行了优化。这里介绍的是模式匹配的基本知识。
样本类(case class)
添加了case关键字的类便是样本类。例如
abstract class Expr
case class Var(name:String) extends Expr
case class Number(num:D ...
Scala 中的函数式编程基础(二)
2. Higher Order Functions
把其他函数作为参数或者作为返回值,就是 higher order functions,python 里面也可以看到这样使用的情形。在酷壳上的博客有一个例子就是将函数作为返回值。
2.1 匿名函数
在 python 里边叫 lambda 函数,常常与 map(), filter(), reduce() 联合使用,前面也写过一篇这样的博客。
...
Scala 中的函数式编程基础(一)
Scala 本意是可伸展。它的设计哲学是:允许用户通过定义感觉像原生语言支持一样的易用库去在他们需要的方向上改进和发展语言——Scala allows users to grow and adapt the language in the directions they need by defining easy-to-use libraries that feel like nat ...
Scala基础(6)- 类和对象
定义
类的定义例子如下。
class Point(xc: Int, yc: Int) {
var x: Int = xc
var y: Int = yc
def move(dx: Int, dy: Int) {
x = x + dx
y = y + dy
}
override def toString(): String = "(&q ...
Scala基础(7)- 特质
特质是Scala中一个很重要的特性。
更灵活的接口
Scala的特质(trait)定义和class几乎相同,只是trait不能的构造不能包含参数。
trait TraitClassA {
def doSomething() {
println("call A");
}
}
trait TraitClassB {
...
Scala基础(5)- 数组
数组是最基本的数据结构。通常的语法或数据结构书都会先介绍数组,而后再介绍集合,链表,树,哈希表等等。我们也不例外。
定长数组
最简单的数组创建如下,记住方括号在Scala中用做泛型,相当于<>在Java中作用。
val nums = new Array[Int](10)
// 10个Integer的数组,初始值为零。
更简洁的数组创建像这样:
val s = Array( ...
Scala基础(4)- 控制结构
If 表达式有返回值
你可以这样赋值,
val s = if (x > 0) 1 else -1
这样就不必像下面这样,这里s就必须是一个变量了。
if (x > 0) s = 1 else s = -1
你甚至可以根据情况返回不同类型的值
if (x > 0) "OK" else -1
Scala基础(3)- 函数进阶
匿名函数
函数可以没有名称,可以直接赋值。如果函数有多行表达式组成,就加上大括号。这一点对匿名函数同样适用。
scala> val addOne = (x: Int) => x + 1
addOne: (Int) => Int = <function1>
scala> addOne(1)
res4: Int = 2
注意到Scala中一切都是对 ...
Scala基础(2)- 值,变量,函数
声明值和变量
值(value)声明以后不能修改其内容
val result = 3 + 4 * 5
result = 0 // error
变量(variable)声明以后可以修改其内容。
var counter = 0
counter = 1 // ok
很C++,Java不同,Scala鼓励尽量使用val,避免副作用的发生。另外,可以看到我们没有像Java一样给result或 ...