2016/01/29 Scala学习4
2016/01/29 Scala学习4
倔强的萝卜 发表于2年前
2016/01/29 Scala学习4
  • 发表于 2年前
  • 阅读 10
  • 收藏 0
  • 点赞 1
  • 评论 0

新睿云服务器60天免费使用,快来体验!>>>   

摘要: scala函数的使用2
  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中。

     

标签: scala
  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 1
博文 20
码字总数 15733
×
倔强的萝卜
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: