http://blog.csdn.net/oopsoom/article/details/23447317 def /:[B](z: B)(op: (B, A) => B): B = foldLeft(z)(op) def :\[B](z: B)(op: (A, B) => B): B = foldRight(z)(op) 时间: 2024-10-13 04:53:29
1, 常规实现: scala> val list = List(1,2,3,4,5) list: List[Int] = List(1, 2, 3, 4, 5) scala> list.foldLeft(List.empty[Int])((res, cur) => cur::res) res0: List[Int] = List(5, 4, 3, 2, 1) 2, 加上泛型: scala> val list = List(1,2,3,4,5) list: List[Int] = L
文章内容全部来自:http://twitter.github.io/scala_school/zh_cn/index.html 表达式 scala> 1 + 1 res0: Int = 2 值 你可以给一个表达式的结果起个名字赋成一个不变量(val). scala> val two = 1 + 1 two: Int = 2 变量 如果你需要修改这个名称和结果的绑定,可以选择使用var. scala> var name = "steve" name: java.lang
Scala是数据挖掘算法领域最有力的编程语言之一,语言本身是面向函数,这也符合了数据挖掘算法的常用场景:在原始数据集上应用一系列的变换,语言本身也对集合操作提供了众多强大的函数,本文将以List类型为例子,介绍常见的集合变换操作. 一.常用操作符(操作符其实也是函数) ++ ++[B](that: GenTraversableOnce[B]): List[B] 从列表的尾部添加另外一个列表 ++: ++:[B >: A, That](that: collection.Traversable[B]
collection基础参见之前的博文scala快速学习(二). 本文主要是组合器(combinator),因为在实际中发现很有用.主要参考:http://www.importnew.com/3673.html List(1,2,3) map squared会在列表的每个元素上分别应用squared函数,并且返回一个新的列表,可能是List(1,4,9).我们把类似于map这样的操作称为组合器. 特点:组合器的参数都是一个函数,这个函数的输入输出都是列表元素.最常见的方式是匿名函数用=>定义,左
集合!集合!一个现代语言平台上的程序员每天代码里用的最多的大概就是该语言上的集合类了,Scala的集合丰富而强大,至今无出其右者,所以这次再回过头再梳理一下. 本文原文出处: 还是先上张图吧,这是我找到的最好的一个关于Scala集合的图了,出自:http://lkumarjain.blogspot.co.id/2015/01/scala-collection-framework.html : 一致的构建风格 在Scala里我们使用一致的简洁的语法实例化一个集合,不管你使用的是一个Trait还是
在最开始处引入 log 相关的 包 import org.apache.log4j.{Logger,Level} 在需要屏蔽日志输出的地方加上这两行代码 // 屏蔽不必要的日志显示在终端上 Logger.getLogger("org.apache.spark").setLevel(Level.ERROR) Logger.getLogger("org.eclipse.jetty.server").setLevel(Level.OFF) // scala io Case
一.scala数组 数组定义1: var arr = new Array[String](3) String:存储的元素类型 3:存储3个元素 添加元素: arr(1) = "hello" 数组定义2: val arr1 = Array[Int](1,2,3,4,5,6) 改变内容:arr1(1) = 18 添加元素:arr1 += 22 长度不可以改变 二.数组方法 1.map(映射) 映射: 2 4 6 映射关系:f(x) = x*5 对应映射关系:10 20 30 例: scal
集合框架概述 Iterable <--------- Seq, Set, Map Seq <--------- IndexedSeq, linkedSeq indexedSeq <------ Vectors, Array ,String linkedSeq <------- List 2.集合常见操作 map, flatMap, filter foldLeft, foldRight 3. 实现Map操作 abstract class List[+T] { def
原文链接 http://www.iteblog.com/archives/1228 从本质上说,fold函数将一种格式的输入数据转化成另外一种格式返回. fold, foldLeft和foldRight这三个函数除了有一点点不同外,做的事情差不多. 我将在下文解释它们的共同点并解释它们的不同点. 我将从一个简单的例子开始,用fold计算一系列整型的和. 1 val numbers = List(5, 4, 8, 6, 2) 2 numbers.fold(0) { (z, i) => 3 z