Scala高阶函数示例

简介:

object Closure {

    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): _*)
    }

}

==============================================================================
本文转自被遗忘的博客园博客,原文链接:http://www.cnblogs.com/rollenholt/p/3950928.html,如需转载请自行联系原作者

相关文章
|
5月前
|
SQL 分布式计算 编译器
Scala:高阶函数、隐式转换(四)
Scala:高阶函数、隐式转换(四)
33 0
|
6月前
|
Scala
172 Scala 高阶函数例子
172 Scala 高阶函数例子
21 0
|
6月前
|
算法 Scala
171 Scala 高阶函数
171 Scala 高阶函数
18 0
|
8月前
|
分布式计算 前端开发 Java
Scala高阶函数与akka 2
Scala高阶函数与akka
42 0
|
8月前
|
算法 Java 编译器
Scala高阶函数与akka 1
Scala高阶函数与akka
38 0
Scala快速入门-9-高阶函数
作为值的函数 创建匿名函数 带函数参数的函数 闭包 柯里化
|
分布式计算 Shell API
scala函数式编程与高阶函数
谈到编程方式有指令式编程、过程化编程、函数式编程,函数式编程在使用时主要的思想就是把运算过程写成一些列嵌套的函数调用。把一组数据通过函数实现运算转化成另一组数据。函数式编程这种方式在我们将来开发Spark、Flink的业务代码时会大量使用。下面列出了一些我们经常使用的进行函数式编程的Iterable trait(可迭代特质)方法。
64 0
|
大数据 网络安全 Scala
大数据Scala系列之高阶函数
大数据Scala系列之高阶函数1.1. 概念如果一个函数的传入参数为函数或者返回值是函数,则该函数即为高阶函数。 1.2. 传入参数为函数Scala中,函数是头等公民,和数字一样。不仅可以调用,还可以在变量中存放函数,也可以作为参数传入函数,或者作为函数的返回值。
1022 0