博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2016/01/29 Scala学习4
阅读量:6123 次
发布时间:2019-06-21

本文共 678 字,大约阅读时间需要 2 分钟。

hot3.png

  1. 可变参数

    Scala 允许你指明函数的最后一个参数可以是重复的,即我们不需要指定函数参数的个数,可以向函数传入可变长度参数列表。Scala 通过在参数的类型之后放一个星号来设置可变参数(可重复的参数)。例如:

    object MyScalaClass3{

      def main(args:Array[String]) {
        printStrings("A", "BB", "CCC")
      }
      def printStrings(args:String*) : Unit = {
        for (arg <-args){
          println(arg)
        }
      }
    }

  2. 函数的柯里化

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

    def add(x:Int)=(y:Int)=>x+y

    那么这个函数是什么意思呢? 接收一个x为参数,返回一个匿名函数,该匿名函数的定义是:接收一个Int型参数y,函数体为x+y。对add的调用代码如下:

    val result = add(1)

    val sum = result(2)
    第一行返回一个result函数,那result的值应该是一个匿名函数:(y:Int)=>1+y
    所以为了得到结果,我们继续调用result。第二行代码,求出了1+2的值,所以结果是3,而这两行代码可以合成一行:

    val x = add(1)(2), 得到结果也是3,存在变量x中。

     

转载于:https://my.oschina.net/u/2609444/blog/611184

你可能感兴趣的文章
配置设置[Django]引入模版之后报错Requested setting TEMPLATE_DEBUG, but settings are not configured....
查看>>
下一步工作分配
查看>>
Response. AppendHeader使用大全及文件下载.net函数使用注意点(转载)
查看>>
Wait Functions
查看>>
代码描述10313 - Pay the Price
查看>>
jQuery最佳实践
查看>>
centos64i386下apache 403没有权限访问。
查看>>
vb sendmessage 详解1
查看>>
jquery用法大全
查看>>
Groonga 3.0.8 发布,全文搜索引擎
查看>>
PC-BSD 9.2 发布,基于 FreeBSD 9.2
查看>>
网卡驱动程序之框架(一)
查看>>
css斜线
查看>>
Windows phone 8 学习笔记(3) 通信
查看>>
重新想象 Windows 8 Store Apps (18) - 绘图: Shape, Path, Stroke, Brush
查看>>
Revit API找到风管穿过的墙(当前文档和链接文档)
查看>>
Scroll Depth – 衡量页面滚动的 Google 分析插件
查看>>
Windows 8.1 应用再出发 - 视图状态的更新
查看>>
自己制作交叉编译工具链
查看>>
Qt Style Sheet实践(四):行文本编辑框QLineEdit及自动补全
查看>>