scala学习之偏函数与闭包

原创 2016年06月01日 22:55:24

偏函数:当函数有多个参数,而在使用该函数时不想提供所有参数(比如函数有3个参数),只提供0~2个参数,此时得到的函数便是偏函数。

object PartialAppliedFunction {  
  def main(args: Array[String]): Unit = {     
    def sum(a:Int,b:Int,c:Int) = a+ b+c  
    println(sum(1,2,3))      
    val fa = sum _  //偏函数
    println(fa(2,3,4))  
    println(fa.apply(3, 3, 4))      
    val fb = sum(1,2,_:Int)  //偏函数
    println(fb(6))  


    val data = List(1,2,3,4,5,6)  
    data.foreach (println _)  
    data.foreach(x =>println(x))  
    data.foreach(println)  
  }  
}  

闭包:

object ClosureTest {  
  def main(args: Array[String]): Unit = {      
    //more是一个自由变量,其值及类型是在运行的时候得以确定的  
    //x是类型确定的,其值是在函数调用的时候被赋值的  
    //这样的函数称之为闭包:从开放到封闭的过程  
    def add(more:Int) = (x:Int) => x+ more        
    //给more赋值  
    val add1 = add(1)  
    //调用add函数  
    println(add1(100))  
  }  
}  


Python学习笔记(一) 高阶函数,偏函数,闭包

Python中高阶函数可接受其他的函数作为参数。常用高阶函数map(function, list) 让list的每一个元素依次调用function函数,并获取返回值存入一个新的list中。def fo...
  • JonsTank2013
  • JonsTank2013
  • 2016年02月26日 22:12
  • 1264

python进阶学习笔记(二)——闭包、装饰器、偏函数

python中闭包 和装饰器
  • Peter_JJH
  • Peter_JJH
  • 2017年04月09日 14:38
  • 477

Scala 偏函数和偏应用函数

偏函数 偏函数是指仅定义了输入参数的子集的函数,如下图: 这个图显示的一个偏函数:f : X -> Y,该函数仅定义了输入参数X的子集1和3,没有包含2。 在Scala中的偏函数是通过特质Part...
  • qiruiduni
  • qiruiduni
  • 2015年07月16日 16:54
  • 1601

Scala之偏函数Partial Function

本文原文出处: http://blog.csdn.net/bluishglc/article/details/ 严禁任何形式的转载,否则将委托CSDN官方维护权益!从使用case语句构造匿名函数谈起在...
  • bluishglc
  • bluishglc
  • 2016年03月28日 10:27
  • 14249

Scala入门之部分应用函数与偏函数

1.部分应用函数部分应用函数(Partial Applied Function)是指缺少部分参数的函数. package com.dt.scala.moguyun/** * 部分应用函数 * ...
  • pofengliuming
  • pofengliuming
  • 2016年08月10日 13:43
  • 905

Scala偏函数与部分函数

前几天用到了偏函数,然后自己参阅一些相关资料,最后把Scala的部分函数和偏函数整理了一下,和大家分享。...
  • u010376788
  • u010376788
  • 2015年08月02日 13:39
  • 3082

Scala-偏函数与部分应用函数

scala中有PartialFunction的概念, 同时还要一个概念叫Partial Applied Function. 前者译作偏函数, 后者译作"偏应用函数"或"部分应用函数", 一字之差, 差...
  • jiangpeng59
  • jiangpeng59
  • 2016年08月26日 19:44
  • 533

偏函数与偏应用函数

偏函数 偏应用函数偏函数val isEven: PartialFunction[Int, String] = { case x if x % 2 == 1 => " is even" }val i...
  • yuanguangyu1221
  • yuanguangyu1221
  • 2017年05月07日 07:37
  • 475

Scala:函数和闭包

http://blog.csdn.net/pipisorry/article/details/52902271Scala函数Scala 有函数和方法,二者在语义上的区别很小。Scala 方法是类的一部...
  • pipisorry
  • pipisorry
  • 2016年10月23日 16:00
  • 1426

scala 偏函数

Scala 偏函数介绍。
  • yyywyr
  • yyywyr
  • 2015年12月12日 20:13
  • 4280
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:scala学习之偏函数与闭包
举报原因:
原因补充:

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