一 需求
二 代码
object sumfunc { def sum(f:Int => Int)(a:Int)(b:Int):Int ={ @annotation.tailrec def loop(n:Int,acc:Int):Int={ if(n>b){ println(s"n=${n},acc=${acc}") acc }else{ println(s"n=${n},acc=${acc}") loop(n+1,acc+f(n)) } } loop(a,0) } //> sum: (f: Int => Int)(a: Int)(b: Int)Int sum(x =>x)(1)(5) //> n=1,acc=0 //| n=2,acc=1 //| n=3,acc=3 //| n=4,acc=6 //| n=5,acc=10 //| n=6,acc=15 //| res0: Int = 15 sum(x =>x*x)(1)(5) //> n=1,acc=0 //| n=2,acc=1 //| n=3,acc=5 //| n=4,acc=14 //| n=5,acc=30 //| n=6,acc=55 //| res1: Int = 55 sum(x =>x*x*x)(1)(5) //> n=1,acc=0 //| n=2,acc=1 //| n=3,acc=9 //| n=4,acc=36 //| n=5,acc=100 //| n=6,acc=225 //| res2: Int = 225 val sum1=sum(x =>x*x)_ //> sum1 : Int => (Int => Int) = sumfunc$$$Lambda$13/757108857@6bdf28bb sum1(1)(5) //> n=1,acc=0 //| n=2,acc=1 //| n=3,acc=5 //| n=4,acc=14 //| n=5,acc=30 //| n=6,acc=55 //| res3: Int = 55 }
相关推荐
《Scala函数式编程》是针对希望学习FP并将它应用于日常编码中的程序员而写的,内容包括:函数式编程的概念;函数式编程相关的各种“为什么”和“怎么做”;如何编写多核程序;练习和检测。 从OOP到FP,思路的转化 ...
函数式编程(FP)是一种...《Scala函数式编程》是针对希望学习FP并将它应用于日常编码中的程序员而写的,内容包括:函数式编程的概念;函数式编程相关的各种“为什么”和“怎么做”;如何编写多核程序;练习和检测。
英文原版 scala函数式编程 function programming in scala
目前很多大数据组件都是用scala开发,包括Spark, Kafka, Flink,scala的函数式编程思想能够带来比java更高的效率,同时其可读性及难度升高,文档由浅入深介绍Scala的语法、特性等;
Scala函数式编
Scala 函数嵌套我们可以在 Scala 函数内定义函数,定义在函数内的函数称之为局部函数。
Scala函数和闭包
Scala函数式编程 2016年4月版 中文 Scala函数式编程 2016年4月版 中文
scala函数式编程-scalaz reader-monad state-monad functor applicative functor
25 scala函数式编程.7z
非常适合喜爱Scala编程的小伙伴学习,高清版,带完整版书签。
详细讲解Scala中的高阶函数部分,具体实例剖析Scala中高阶函数的意义所在,对控制抽象进行了详细的说明,参考书籍《快学Scala》、《Programming in Scala》
本文详细的介绍了scala的函数,对于入门者来说是一个很好的启蒙教材
Scala编程综合进阶向导有33章。本书介绍了一种新的编程语言,它把面向对象和函数式编程概念有机地结合为整体,从而形成一种完整统一、语义丰富的新思维体系。
主要介绍了scala集合和函数的的相关资料,文中示例代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下
函数式编程是从编程方式(范式)的角度来谈的,可以这样理解:函数式编程把函数当作一等公民,充分利用函数、只是函数的多种使用方式,在Scala中,函数是一等公民,像变量一样,既可以作为函数的参数使用,也可以将...
快学Scala课后习题答案,包含各个章节答案word版和pdf版
Scala.Rx 是一个 Scala 的函数式反应编程的库,基于 FRP 和 Deprecating the Observer Pattern 理论的实现. 简单例子: import rx._ val a = Var(1); val b = Var(2) val c = Rx{ a() b() } println(c()) // 3 a...