• scala 几个函数小例子


    后续补充

    /**
      * Created by dengy on 2017/12/18.
      */
    object grammarPractise {
      def main(args: Array[String]) {
    
        //=======================================================//
         def fun(str1: String, str2: String) = {
          str1 + "	" + str2
        }
    
        println( fun("spark", "hadoop") ) //spark	hadoop
    
        val add = (str1:String, str2:String)=> str1+ "	" +str2
    
        println(add("spark", "hadoop"))  //spark	hadoop
    
        def g( f:(String,String)=>String ,str1:String,str2:String)={
          val line = f(str1,str2)
          println(line)
        }
    
        g(add, "Spark", "Hadoop")  //spark	hadoop
    
        //这个确实一中 调用的办法, 是 传 函数的一种办法。三个结果都是: Spark	Hadoop
        //=======================================================//
    
        // 变量的 集合中的变量
        val list = List.range(1,10)
        println( list.mkString("[","	","]"))  //[1	2	3	4	5	6	7	8	9]
    
        val list2 = list.filter( ( x:Int )=> x%2==0 )
        println( list2.mkString("[","	","]") ) //[2	4	6	8]
    
        val list3 = list.filter(x=>x%2==0)
        println(list3.mkString("[","	","]"))  //[2	4	6	8]
    
        val list4 = list.filter(_%2==0)
        println(list4.mkString("[","	","]"))  //[2	4	6	8]
    
        //=======================================================//
    
        // 传递函数
        val sayHello:()=> Unit = () =>println("hello")
    
        def g1(f:()=>Unit,num:Int)={
          for(i<-1 to num)f()
        }
        g1(sayHello,5)  // 5个  hello
    
        //=======================================================//
    
        //传递String参数
        def saySomething(str1:String)= (str2:String) => println( str1+"	"+str2 )
    
        val aa:String=>Unit=saySomething("spark")
    
        aa("hadoop")  //spark	hadoop
    
        //=======================================================//
    
        var standardAge = 20
        val aa1 = (age:Int)=> age>=standardAge //这个最后是个boolean型
        println(aa1(22)) //true
    
        def g2( f:Int=>Boolean, age:Int):Unit={  //注意这里的写法
          println(  f(age)  )
        }
        g2(aa1,22) //true
        standardAge = 23
        g2(aa1,22) //false   ,注意,这里调用的aa1中standardAge,已经被改了,所以为false
    
        //=======================================================//
        //调用函数,实现加法
        var more = 10
        val x=(one:Int)=>one+more
        println(x(20)) //30
        more=20
        println(x(20)) //40
    
        //=======================================================//
    
        //foreache 累加
        var sum = 0
        val array = Array(10,20,30)
        array.foreach(f=> sum=sum+f )
        println(sum)
    
        //=======================================================//
    
      }
    }
    

      

  • 相关阅读:
    Android深度探索第七章
    Android 深度探索第六章
    Android深度探索第五章
    Android深度探索第四章
    Android深度探索第三章
    Android深度探索第二章总结
    Android深度探索第一章节的总结
    Android深度探索HAL与驱动开发-——第10章
    Android深度探索HAL与驱动开发-——第9章
    Android深度探索HAL与驱动开发-——第8章
  • 原文地址:https://www.cnblogs.com/nucdy/p/8066324.html
Copyright © 2020-2023  润新知