scala学习笔记4--scala的函数一
2016-08-05 16:49
309 查看
默认值:
可变参数:
下划线的使用:
递归函数:需要显式的给予函数的返回类型
函数柯里化:
把这个参数一个个独立开来写,这就是柯里化
柯里化就是把参数可以分开来,把部分函数参数可以用下划线来代替
匿名函数声明方式
:后面是数据类型,c代表传进来的参数
匿名函数
匿名函数作为参数,其实就是参数名,后面跟上参数类型,然后是表达式
嵌套函数,其实就是def里面套一个def
def sayMyName(name : String = "Jack"){ println(name) }
可变参数:
def sumMoreParameters(elem : Int*) = { var sum = 0 for(e <- elem){ println(e) sum += e } sum }
下划线的使用:
def add(a:Int,b:Int) = a+b def add2 = add(_:Int,2)
递归函数:需要显式的给予函数的返回类型
def fac(n:Int):Int = if( n <= 0) 1 else n*fac(n-1)
函数柯里化:
把这个参数一个个独立开来写,这就是柯里化
def mulitply(x:Int)(y:Int) = x*y def m2 = mulitply(2)_;
柯里化就是把参数可以分开来,把部分函数参数可以用下划线来代替
匿名函数声明方式
val t = ()=>333
:后面是数据类型,c代表传进来的参数
def testfunc02(c : ()=>Int ){ println(c()) 1000 }
匿名函数
val d1 = (a:Int)=> a+100;
匿名函数作为参数,其实就是参数名,后面跟上参数类型,然后是表达式
def testf1(callback : (Int,Int)=>Int )={ println(callback(123,123)); }
嵌套函数,其实就是def里面套一个def
def add3(x:Int, y:Int ,z:Int) : Int = { def add2(x:Int, y:Int):Int = { x + y } add2(add2(x,y),z) }
def sum(f : Int => Int) : (Int , Int) => Int = { def sumF(a : Int , b : Int) : Int = if (a >b ) 0 else f(a) + sumF( a + 1 , b) sumF }
相关文章推荐
- UI高级---->多线程总结
- Centos7.0 lanmp环境搭建
- HttpURLConnection获取图片数据流
- java学习之HelloWorld
- rabbitmq学习笔记
- LoadRunner获取WEB消息头信息的两个内置变量:REQUEST、RESPONSE
- 公司的Java框架应具备的通用功能
- 如何将javaweb打包的war包发布到tomcat的根目录直接通过域名访问,而不是在二级目录
- 充电website note
- 如何通过ArcMap Add-in机制实现十字叉线地理配准工具
- Android打造万能ListView Adapter
- Effective C++读书笔记---为多态基类声明为virtual析构函数
- Samba文件服务器配置
- 关于$.ajax中data字段的整理--包括json转换和spring注解
- ASP.NET MVC 与Form表单交互
- hdu 5762 Teacher Bo(暴力美学)
- 进程通信-事件机制
- H5学习之23 CSS 水平对齐(定位,调整位置)
- ACM巴什博奕
- Java学习笔记(3)