scala学习之高阶函数

原创 2016年06月01日 23:05:40
object High_order_fun{
def main(args:Array[String]){
//(1 to 9).map("*"*_).foreach(println _)
(1 to 9).map(2*_).foreach(println( _))
(1 to 9).filter(_%2==0).foreach(println)
println((1 to 9).reduceLeft(_*_))
"spark is the most exciting thing happening in big data today".split(" ").
sortWith(_.length<_.length).foreach(println)


def high_order_functions(f:(Double)=>Double)=f(0.25)
println(high_order_functions(ceil _))
println(high_order_functions(sqrt _))


}

}


object High_fun{
    def function1(n: Int): Int = {
        val multiplier = (i: Int, m: Int) => i * m
        multiplier.apply(n, 2)
    }

    def function2(m: Int => Int) = m

    def function3(f: (Int, Int) => Int) = f

    val function4 = (x: Int) => x + 1

    val function5 = (x:Int) => {
       if(x > 1){
           //...
       }else{
           //...
       }
    }

    val function6 = (_ : Int) + ( _ :Int)

    def function7(a:Int, b:Int, c:Int) = a+b+c

    val function8 = function7 _

    val function9 = function7(1, _:Int, 3)

    def function10(x:Int) = (y:Int) => x+y

    def function11(args: Int*) = for (arg <- args) println(arg)

    def function12(x: Int): Int = {
        if (x == 0) {
            throw new Exception("bang!")
        }
        else{
            function12(x -1)
        }
    }

    def hello1(m: Int): Int = m

    def hello2(m: Int, n: Int): Int = m * n

    def main(args: Array[String]) {
        println(function1(2))
        println(function2(hello1)(2))
        println(function3(hello2)(2, 3))
        println(function4(4))
        println(function4(5))
        function6(1, 2)
        function8(1, 2, 3)
        function8.apply(1, 2, 3)
        function9.apply(1)
        function10(1)(2)
        function11(1, 2, 3, 4)
        function11(Array(1, 2, 3): _*)
    }
}







Scala入门到精通——第十三节 高阶函数

本节主要内容 高阶函数简介 Scala中的常用高阶函数 SAM转换 函数柯里化 偏函数 1. 高阶函数简介 高阶函数主要有两种:一种是将一个函数当做另外一个函数的参数(即函数参数);另外一种...
  • lovehuangjiaju
  • lovehuangjiaju
  • 2015年07月28日 09:25
  • 14361

【Scala】高阶函数和柯里化

高阶函数在数学和计算机科学中,高阶函数是至少满足下列一个条件的函数:- 接受一个或多个函数作为输入 - 输出一个函数 在数学中它们也叫做算子(运算符)或泛函。微积分中的导数就是常见的例子,因为它映射一...
  • JasonDing1354
  • JasonDing1354
  • 2015年06月15日 20:27
  • 1658

scala 自学笔记 高阶函数

作为值得函数 变量中可以存放函数 import scala.math._ val num = 3.14 // Double val fun = ceil _ // (Double) => Doub...
  • escaflone
  • escaflone
  • 2015年02月17日 11:15
  • 3248

python学习之高阶函数

#####高阶函数####### 1.函数 函数本身也可以赋值给变量,即:变量可以指向函数。 In [91]: abs(-10) Out[91]: 10 In [92]: abs Ou...
  • csdn066
  • csdn066
  • 2017年07月14日 22:09
  • 204

python函数式编程之高阶函数学习

基本概念函数式编程,是一种抽象程度很高的编程范式,纯粹的函数式编程语言编写的函数没有变量。因此,任意一个函数,只要输入确定,输出就确定的这种函数我们称之为纯函数,我们称这种函数没有副作用。而允许使用白...
  • A_xilixiaogui
  • A_xilixiaogui
  • 2017年11月20日 21:42
  • 132

Python基础篇之高阶函数

python把函数作为参数在2.1小节中,我们讲了高阶函数的概念,并编写了一个简单的高阶函数:def add(x, y, f): return f(x) + f(y) 如果传入abs作为参...
  • zhengj2008
  • zhengj2008
  • 2017年12月08日 11:06
  • 14

python基础3之高阶函数

################################高阶函数 1.sorted函数  排序也是在程序中经常用到的算法。 无论使用冒泡排序还是快速排序,排序的核心是比较两个元素的...
  • weixin_38076419
  • weixin_38076419
  • 2017年07月17日 21:36
  • 119

python基础2之高阶函数

###################################高阶函数 1.高阶函数       变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,...
  • weixin_38076419
  • weixin_38076419
  • 2017年07月11日 17:25
  • 100

快学Scala学习笔记及习题解答(12-14高阶函数、集合、模式匹配和样例类)

本文Scala使用的版本是2.11.8第12章 高阶函数12.1 基本用法作为值得函数import scala.math._val num = 3.14 // ceil函数后的_表示这是个函数,而不是...
  • u013980127
  • u013980127
  • 2017年02月04日 18:10
  • 841

scala 学习笔记 --高阶函数

scala学习笔记之高阶函数
  • yxinzju
  • yxinzju
  • 2015年02月14日 10:26
  • 247
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:scala学习之高阶函数
举报原因:
原因补充:

(最多只允许输入30个字)