`
congli
  • 浏览: 15594 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Scala中的下划线到底有多少种应用场景

 
阅读更多
我目前了解的有一下几个用处:


1、作为“通配符”,类似Java中的*。如import scala.math._

2、:_*作为一个整体,告诉编译器你希望将某个参数当作参数序列处理!例如val s = sum(1 to 5:_*)就是将1 to 5当作参数序列处理。

3、指代一个集合中的每个元素。例如我们要在一个Array a中筛出偶数,并乘以2,可以用以下办法:
a.filter(_%2==0).map(2*_)。
又如要对缓冲数组ArrayBuffer b排序,可以这样:
val bSorted = b.sorted(_
4、在元组中,可以用方法_1, _2, _3访问组员。如a._2。其中句点可以用空格替代。

5、使用模式匹配可以用来获取元组的组员,例如
val (first, second, third) = t
但如果不是所有的部件都需要,那么可以在不需要的部件位置上使用_。比如上一例中val (first, second, _) = t

6、还有一点,下划线_代表的是某一类型的默认值。
对于Int来说,它是0。
对于Double来说,它是0.0
对于引用类型,它是null。
分享到:
评论

相关推荐

    大数据课程-Scala编程基础-3.Scala面对对象的特性_lk_edit.ppt

    在Scala中,包有两种管理风格。第一种与Java相似,每个源文件对应一个包,包名与源文件的路径可以不一致。第二种风格是通过嵌套来表示层级关系,一个源文件可以声明多个包,子包中的类可以直接访问父包的内容,无需...

    scala的操作笔记

    ### Scala的操作笔记 #### 一、课程目标与学习路径 ...通过本课程的学习,不仅可以掌握Scala的基础知识,还能深入了解Scala在实际项目中的应用技巧,为进一步探索Spark等大数据处理框架打下坚实的基础。

    SCALA 入门材料

    - **immut.Map**与**mutable.Map**:Scala支持两种类型的映射,一种是不可变的`immut.Map`,另一种是可变的`mutable.Map`,分别适用于不同的场景。 综上所述,Scala不仅具备了现代编程语言的所有优点,如简洁性、...

    scala-inflector_2.11-1.3.5.zip

    这个项目在 Scala 社区中广泛使用,特别是在构建复杂的、具有强类型系统的 Web 应用程序时,因为这些应用通常需要对字符串进行各种操作以符合编程或数据存储的规范。 Scala Inflector 的版本 "2.11-1.3.5" 暗示了它...

    详解Java中的scala正则表达式

    在实际应用中,可以结合这些规则创建适应各种场景的正则表达式。例如,如果你需要匹配一个电话号码,可以使用`\\d{3}-\\d{3}-\\d{4}`,这将匹配形如"123-456-7890"的格式。 总的来说,Scala的正则表达式功能强大且...

    英文版ScalaReference.pdf

    根据Scala规范,标识符可以由字母、数字以及下划线(_)组成,但必须以字母或下划线开头。 **1.2 换行字符** Scala语言允许程序员通过换行符来分隔代码语句,但在某些情况下,如表达式中,换行符会被视为语句的结束...

Global site tag (gtag.js) - Google Analytics