13. Scala函数式编程(高级部分)】的更多相关文章

13.1 偏函数(partial function) 13.1.1 需求 -> 思考 一个集合val list = List(1,2,3,4,"abc"),完成如下要求 1) 将集合list中的所有数字+1,并返回一个新的集合 2) 要求忽略掉非数字的元素,即返回的新的集合形式为(2,3,4,5) 13.1.2 解决方式-filter+map返回新的集合,引出偏函数 13.1.3 解决方式-模式匹配 object boke_demo01 { def main(args: Arra…
第十三章 函数式编程-高级13.1 偏函数(partial function)13.1.1 提出一个需求,引出思考13.1.2 解决方式-filter + map 返回新的集合13.1.3 解决方式-模式匹配13.1.4 偏函数的基本介绍13.1.5 偏函数的快速入门13.1.6 偏函数的小结13.1.7 偏函数的简写形式13.2 作为参数的函数13.3 匿名函数13.4 高阶函数(higher-order function)13.5 参数(类型)推断13.6 闭包(closure)13.7 函…
5.1 函数式编程内容及介绍顺序说明 5.1.1 函数式编程内容 -函数式编程基础 函数定义/声明 函数运行机制 递归(难点,[最短路径,邮差问题,迷宫问题,回溯]) 过程 惰性函数和异常 -函数式编程高级 值函数(函数字面量) 高阶函数 闭包 应用函数 柯里化函数,抽象控制... 5.1.2 函数式编程介绍顺序说明 1) 在Scala中,函数式编程和面向对象编程融合在一起,学习函数式编程需要oop的知识,同样学习oop需要函数式编程的基础 2) 介绍顺序:函数式编程基础->面向对象编程->函…
一.集合操作1 1.Scala的集合体系结构 // Scala中的集合体系主要包括:Iterable.Seq.Set.Map.其中Iterable是所有集合trait的根trai.这个结构与Java的集合体系非常相似. // Scala中的集合是分成可变和不可变两类集合的,其中可变集合就是说,集合的元素可以动态修改,而不可变集合的元素在初始化之后,就无法修改了.分别对应scala.collection.mutable和scala.collection.immutable两个包. // Seq下包…
前情提要: scala函数式编程(二) scala基础语法介绍 scala函数式编程(二) scala基础语法介绍 前面已经稍微介绍了scala的常用语法以及面向对象的一些简要知识,这次是补充上一章的,主要会介绍集合和函数. 注意噢,函数和方法是不一样的,方法是在类里面定义的,函数是可以单独存在的(严格来说,在scala内部,每个函数都是一个类) 一.scala集合介绍 还记得上一章介绍的object的apply方法吗,很多数据结构其实都用到了它,从而让我们可以直接用List(...)这样来新建…
Scala的集合体系结构 // Scala中的集合体系主要包括:Iterable.Seq.Set.Map.其中Iterable是所有集合trait的根trai.这个结构与Java的集合体系非常相似. // Scala中的集合是分成可变和不可变两类集合的,其中可变集合就是说,集合的元素可以动态修改,而不可变集合的元素在初始化之后,就无法修改了.分别对应scala.collection.mutable和scala.collection.immutable两个包. // Seq下包含了Range.Ar…
前情提要 Scala函数式编程指南(一) 函数式思想介绍 scala函数式编程(二) scala基础语法介绍 Scala函数式编程(三) scala集合和函数 Scala函数式编程(四)函数式的数据结构 上 Scala函数式编程(四)函数式的数据结构 下 Scala函数式编程(五) 函数式的错误处理 什么时候效率复习最高,毫无疑问是考试前的最后一夜,同样的道理还有寒暑假最后一天做作业最高效.学界有一个定理:deadline是第一生产力,说的就是这个事情. 同样的,这个道理完全可以推广到函数式编程…
package com.dtspark.scala.basics /** * 函数式编程进阶: * 1,函数和变量一样作为Scala语言的一等公民,函数可以直接赋值给变量: * 2, 函数更长用的方式是匿名函数,定义的时候只需要说明输入参数的类型和函数体即可,不需要名称,但是如果你要使用的话,一般会把这个匿名函数赋值给一个变量(其实是val常量),Spark源码中大量存在这种语法,必须掌握: * 3, 函数可以作为参数直接传递给函数,这极大的简化的编程的语法,为什么这样说呢?原因非常简单: *…
从9月初啃完那本让人痛不欲生却又欲罢不能的<七周七并发模型>,我差不多销声匿迹了整整4个月.这几个月里,除了忙着讨食,便是继续啃另一本"锯著"--<Scala函数式编程>. 谓之"锯著",是因其让我时常徘徊于面向对象与函数式编程的拉锯之中,时常困惑于Open-Close的拉锯之中.此前虽然也零散地读过一些FP的书籍,但真正意义上让我管窥FP本义的,却是这本只有了了200页的小开张红皮书.尽管此前在实体店见到便迫不急待地入了手,却未曾想竟然要花…
Scala函数式编程 ------------------------------------------------------------------------------------------------------------------------/** * 函数可以被简单的被认为是包裹了一条或几条语句的代码体, * 该代码体接收若干参数,经过代码体处理后返回结果, * 刑如数学中的f(x) = x + 1 *  * 在Scal中函数式一等公民,可以像变量一样被传递,被赋值,同时 …