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

}

目录
相关文章
|
SQL 消息中间件 分布式计算
如何查看spark与hadoop、kafka、Scala、flume、hive等兼容版本【适用于任何版本】
如何查看spark与hadoop、kafka、Scala、flume、hive等兼容版本【适用于任何版本】
666 0
如何查看spark与hadoop、kafka、Scala、flume、hive等兼容版本【适用于任何版本】
|
2月前
|
分布式计算 Java Scala
spark 与 scala 的对应版本查看、在idea中maven版本不要选择17,弄了好久,换成11就可以啦
spark 与 scala 的对应版本查看、.在idea中maven版本不要选择17,弄了好久,换成11就可以啦
92 2
|
2月前
|
分布式计算 数据处理 Scala
Spark 集群和 Scala 编程语言的关系
Spark 集群和 Scala 编程语言的关系
26 0
|
3月前
|
分布式计算 Java Scala
Spark编程语言选择:Scala、Java和Python
Spark编程语言选择:Scala、Java和Python
Spark编程语言选择:Scala、Java和Python
|
11月前
|
存储 分布式计算 Scala
Spark-RDD 键值对的操作(Scala版)
Spark-RDD 键值对的操作(Scala版)
|
11月前
|
SQL 存储 JSON
人人都懂Spark-SQL基础操作(Scala版)
人人都懂Spark-SQL基础操作(Scala版)
|
11月前
|
JSON 分布式计算 算法
Spark-编程进阶(Scala版)
Spark-编程进阶(Scala版)
|
11月前
|
JSON 分布式计算 Hadoop
Spark-数据读取与保存(Scala版)
Spark-数据读取与保存(Scala版)