scala
longG_It
这个作者很懒,什么都没留下…
展开
-
scala 基础(2) -------------------------方法、函数、数组、集合、元组
方法和函数scala面向函数式编程(最有特色的一部分)-》将函数作为函数的参数传递过去 (*)方法和函数的区别 1.方法: 相对于OOP来说 类class 属性:名词 方法:...原创 2018-09-11 22:30:30 · 387 阅读 · 0 评论 -
scala难点----------------------------函数的参数求值策略、方法作为参数传递时自动做隐形转换
scala函数的参数:求值策略 1、call by value:对函数的实参求值,并只求值一次 举例:def test1(x:Int, y:Int):Int = x+x 没有用到y 2、call by name:函数的实参每次在函数体内部被调用的时候,都会进行求值 举例:def test2(x: => Int...原创 2018-09-11 22:33:31 · 281 阅读 · 0 评论 -
Scala经典案例-------------------------词频统计单机版和分布式实现
单机版scala> var arr = Array("Spark Hadopp Hive", "Hive Hbase", "Sqoop Redis Hadoop") arr: Array[String] = Array(Spark Hadopp Hive, Hive Hbase, Sqoop Redis Hadoop) ...原创 2018-09-11 22:36:11 · 1239 阅读 · 0 评论 -
柯里化详解-----------------Scala重点
定义: 柯里化是将方法或者函数中一个带有多个参数的列表拆分成多个小的参数列表(一个或者多个参数)的过程,并且将参数应用前面参数列表时返回新的函数(调用函数求值,求得的值是下一个函数的一个参数,将参数传递给下一个函数)典型实例//这是一个没有柯里化的方法 scala> def sum(x:Int, y:Int) = x+ y ...原创 2018-09-16 09:35:49 · 243 阅读 · 0 评论 -
scala的隐式转换 || 实例详解
定义: 当Scala编译器进行类型匹配时,如果找不到合适的候选,那么隐式转化提供了另外一种途径来告诉编译器如何将当前的类型转换成预期类型。 隐式参数 (1)先看一下这个程序的运行结果object ImplicitParam {implicit val xxx = 777 def test(impli...原创 2018-09-16 10:00:12 · 314 阅读 · 0 评论 -
scala 基础 -------------------------变量的声明、条件表达式、块表达式、循环
变量的声明和使用 使用val和var申明变量例如:scala> val answer = 8 * 3 + 2可以在后续表达式中使用这些名称 val:value 简写,表示的意思为值,不可变 要申明其值可变的变量:val var:variable 简写,表示的变量,可以改变值 要申明其值不可变的变量:...原创 2018-09-10 19:20:55 · 166 阅读 · 0 评论 -
scala中reduce函数原理解析------------------------------reduceLeft和reduceRight
看完图之后看具体实例 scala> val list = List(1,2,3,4,5) list: List[Int] = List(1, 2, 3, 4, 5) scala> list.reduce(_+_) res0: Int = 15 #这里0初始值,也是后面高阶函数的柯里化 sca...原创 2018-09-14 10:43:48 · 5138 阅读 · 1 评论