`
waveeee
  • 浏览: 52787 次
  • 来自: 上海
社区版块
存档分类
最新评论

面向 Java 开发人员的 Scala 指南

阅读更多
http://www.ibm.com/developerworks/cn/java/j-scala01228.html
Chapter1 面向 Java 开发人员的 Scala 指南: 面向对象的函数编程
some code
So, for instance, the already mentioned Array class has a function, filter, which is defined in Listing 7:

Listing 7. Partial listing of Array.scala
               
class Array[A]
{
    // ...
  	def filter  (p : (A) => Boolean) : Array[A] = ... // not shown
}


Listing 7 declares that p is a function that takes a parameter of the generic type specified by A and returns a boolean. The Scala documentation states that filter "Returns an array consisting of all elements of this array that satisfy the predicate p." This means that if I want to go back to my Hello World program for a moment and find all the command-line arguments that start with the letter "G," writing it is as simple as Listing 8:

Listing 8. Hello, G-men!
               
object HelloWorld
{
  def main(args: Array[String]): Unit = {
    args.filter( (arg:String) => arg.startsWith("G") )
        .foreach( (arg:String) => Console.println("Found " + arg) )
  }
}


Here, filter takes the predicate, an anonymous function that implicitly returns a boolean (the result of the startsWith() call) and calls the predicate with every element in the "args" array. If the predicate returns true, it adds it to the results array. After walking through the entire array, it takes the results array and returns it, which is immediately then used as the source for a "foreach" call, which does exactly as it implies: foreach takes another function and applies that function to every element in the array (in this case, to simply display each one).
It's not too hard to imagine what the Java equivalent to HelloG.scala above would look like, and it's not too hard to recognize that the Scala version is much, much shorter, and a lot clearer, too.

Chapter 3
面向 Java 开发人员的 Scala 指南: 类操作
http://www.ibm.com/developerworks/cn/java/j-scala02198.html#resources
分享到:
评论

相关推荐

    面向Java开发人员Scala指南,Scala和servlet的比较

    Scala是一种强大的多范式编程语言,它融合了面向对象和函数式编程的特性,为Java开发者提供了一种更高效、更简洁的编程选择。在Java开发领域,Servlet是用于构建Web应用程序的标准API,广泛应用于服务器端编程。本...

    面向Java开发人员的Scala指南

    《面向Java开发人员的Scala指南》是一本专为熟悉Java编程语言的开发者设计的书籍,旨在帮助他们理解和掌握Scala这门强大的多范式编程语言。Scala结合了面向对象和函数式编程的特点,提供了更高的代码抽象能力和性能...

    IBM:面向Java开发人员的Scala指南-p178.7z

    《IBM:面向Java开发人员的Scala指南》是一本旨在帮助Java开发者过渡到Scala语言的实用教程。Scala是一种多范式编程语言,它结合了面向对象和函数式编程的特性,设计目的是提高代码的表达力和效率。这本书的第178页...

    面向 Java 开发人员的 Scala 指南系列.rar

    通过学习这个面向 Java 开发人员的 Scala 指南系列,你可以深入了解 Scala 的语法特性、编程模式以及如何将这些知识应用到实际项目中,从而拓宽你的编程视野和提高编程技能。无论你是希望在现有 Java 项目中引入 ...

    面向Java开发人员的Scala指南1

    此文摘自developerWorks中国的Javatechnology系列中国 [选择]使用条款文档选项打印本页将此页作为电子邮件发送英文原文关于本系列Ted

    在Jelastic上使用Scala编程Java开发Java

    总结来说,结合标题和描述,本文档可能是关于如何在Jelastic云平台上有效地利用Scala进行Java开发的实战指南,包括环境配置、编程技巧、优化策略以及可能的盈利模式。通过深入学习这些内容,开发者可以提高其在混合...

    Scala_中文学习资料_含Scala_2.7.6_API.rar

    "面向Java开发人员的Scala指南-p178.pdf"专门针对有Java背景的开发者。Scala与Java有很多相似之处,比如都是基于JVM(Java虚拟机)的语言,但Scala在很多方面更加强大和灵活。这份指南将帮助Java开发者理解Scala的...

    Scala实用指南(高清带书签)

    Scala实用指南介绍了Scala编程语言及其面向对象编程和函数式编程结合的特性。Scala是一种运行在JVM上的高级编程语言,它允许开发者将面向对象编程和函数式编程的范式结合在一起,以创建简洁、表达性强、可扩展的应用...

    Scala实用指南-高清带目录

    很高兴见到你对 Scala 感兴趣。...Java 生态系统是目前用于开发和部署企业级应用最强大的平台之一。Java 平台几乎无所不在并且用途广泛;它类库丰富,可以在多种硬件上运行,并且衍生出了 200 多种基于此平台的编程语言

    java+hadopp+scala+spark配置win10版

    5. **集成开发环境(IDE)**:为了更方便地开发和测试,你可能会使用IntelliJ IDEA或Eclipse这样的Java IDE,它们都有支持Scala和Spark的插件。安装这些插件后,你可以在IDE内创建、编辑和运行Spark项目。 6. **...

    Scala实用指南1

    **Scala实用指南1** 是一本面向Java开发者,旨在教授Scala编程语言的实用指南。作者文卡特·苏帕拉马尼亚姆(Venkat Subramaniam)是一位知名的编程专家,他在Agile Developer公司担任创始人,并在休斯敦大学任教,...

    scala-2.11.12 win msi 安装包

    压缩包中的另一个文件"scala-2.11.12.txt"可能是Scala的安装指南或版本说明,通常会包含安装步骤、系统需求、已知问题等内容,对于首次安装Scala的用户来说非常有用。 总的来说,这个压缩包为Windows用户提供了...

    Scala程序设计:Java虚拟机多核编程实战1

    Scala是一种融合了函数式和面向对象编程特点的静态类型语言,特别适合在Java虚拟机(JVM)上开发能够充分利用多核处理器性能的应用。 本书第一章介绍了Scala的基本概念,包括函数式编程的理念。函数式编程是一种...

    A.Beginner's.Guide.to.Scala

    然而,Scala的面向对象编程与传统的OOP语言(例如C++和Java)有所不同,它具有更丰富的语言特性,如特质(trait)、隐式转换(implicit conversion)和case类(case class),这些特性使得Scala的面向对象编程更加...

Global site tag (gtag.js) - Google Analytics