文档章节

2016/01/29 Scala学习4

倔强的萝卜
 倔强的萝卜
发布于 2016/01/29 09:55
字数 351
阅读 11
收藏 0
  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中。

     

© 著作权归作者所有

共有 人打赏支持
倔强的萝卜
粉丝 1
博文 21
码字总数 15733
作品 0
长春
私信 提问
2016大数据唯一完整版教程

大数据教程(2016版) 链接: https://pan.baidu.com/s/1qXT9WwG 密码: qrht 2015-12-22_linux 2015-12-24_linux 2015-12-29_MapReduce 2015-12-31_MapReduce 2016-01-05_MapReduce 2016-01-0......

大象分享
2017/02/15
1K
0
Spark常见问题汇总

注意:如果Driver写好了代码,eclipse或者程序上传后,没有开始处理数据,或者快速结束任务,也没有在控制台中打印错误,那么请进入spark的web页面,查看一下你的任务,找到每个分区日志的s...

ifree613
2016/03/03
8.7K
0
第864期机器学习日报(2017-01-29)

机器学习日报 2017-01-29 深度学习MATLAB实例入门 @爱可可-爱生活 可以应用在CPU和GPU上高效并行的CTC代码库 @爱可可-爱生活 “Benchmarking State-of-the-Art Deep Learning Software Tool...

ai100_ml
2017/01/30
0
0
Scala 2.12 发布计划

Scala 2.12 会要求 Java 8,Scala 2.11 将会继续支持 Java 6。以下是 Scala 2.11 和 Scala 2.12 的共有特性: Compile lambdas efficiently using method handles. (Separate compatibility ......

oschina
2014/07/01
2.5K
6
spark相关错误和解决方法

1 概述 Spark的on Yarn模式,其资源分配是交给Yarn的ResourceManager来进行管理的,但是目前的Spark版本,Application日志的查看,只能通过Yarn的yarn logs命令实现。 在部署和运行Spark App...

不语者
2016/11/04
385
0

没有更多内容

加载失败,请刷新页面

加载更多

中国龙-扬科
22分钟前
0
0
使用apicloud开发移动端APP,IOS list页面滚动卡顿解决记录

给内容容器添加样式:-webkit-overflow-scrolling:touch; -webkit-overflow-scrolling:属性控制元素在移动设备上是否使用滚动回弹效果. auto:使用普通滚动, 当手指从触摸屏上移开,滚动会立即...

万建宁
24分钟前
0
0
Akka消息传送可靠性 23

原文:https://doc.akka.io/docs/akka/2.5/general/message-delivery-reliability.html Akka可帮助您构建可靠的应用程序,这些应用程序在一台计算机中使用多个处理器核心或分布在计算机网络中...

woshixin
46分钟前
2
0
composer安装

前言:随着开源的东西越来越多,一些好的代码我们是可以直接拿过来用的,github更是加快了这一节奏,在github上我们可以看到一些开源的项目、代码块、函数库、类结构等,我们可以直接Fork,然...

echojson
今天
4
0
mysql grant 用户权限总结

用户权限管理主要有以下作用: 1. 可以限制用户访问哪些库、哪些表 2. 可以限制用户对哪些表执行SELECT、CREATE、DELETE、DELETE、ALTER等操作 3. 可以限制用户登录的IP或域名 4. 可以限制用...

Airship
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部