美文网首页
Scala函数

Scala函数

作者: smartjiang | 来源:发表于2019-05-06 20:22 被阅读0次

    一、部分参数化函数

     def max(x:Int,y:Int) ={
        x+y;
      }
    //这两个是等价的
      var  parserMax=(x:Int)=>max(1,_:Int);
    // 部分参数化函数
    var parse=max(3,_:Int);
    for example:我们日志对象我们传递实际内容并且打印当前时间的日志
    
    var date=new Date();
    def logmessage(date:Date,message:String):Unit={
     print(s"$date,$message")
    }
    var logBoundDate=logmesage(date,_:String)
    
    

    二、柯里化函数
    柯里化函数:是将原来接受两个参数的函数变成新的接受一个参数的函数的过程。新的函数返回一个原有第二个参数为参数的函数。

    def add(x:Int,y:Int)=x+y
    def add(x:Int)(y:Int)=x+y
    //我们应用的时候,应用这样的add(1)(2)最终结果返回的是(3)这种方式(过程)叫做柯里化,经过珂里化之后,通用性有所降低,但是实用性有所提升
    解析下面过程
    def add(x:Int)=(y:Int)=>x+y
    该方法返回的是一个匿名函数,也就意味着add方法返回的是一个匿名函数
    

    相关文章

      网友评论

          本文标题:Scala函数

          本文链接:https://www.haomeiwen.com/subject/fpjfoqtx.html