`

多变的Scala编程

阅读更多

简单的试了一把手,FP的code格式的多变,确实是得花些时间来搞清楚。就下面三个实现,对Java程序员来讲,一个比一个难懂。当然,说好听一点,一个比一个简洁,优美。唉,就是难懂... 不愧是ivory tower里出来的东西。也许真的要习惯了之后才觉的好。如果不考虑一般人是否可理解,真的是非常节省写代码的时间。

 
//类似Java的风格
class Upper {
    def upper(strings: String*): Seq[String] = {
       strings.map(upperCase(_));
     }
 
     def upperCase(s: String): String = {
          return s.toUpperCase();
     }
}
 
//部分函数式
class Upper2 {
    def upper(strings: String*): Seq[String] = {
          strings.map((s: String) => s.toUpperCase());
    }
}
 
//最简化函数式
object Upper3{
     def upper(strings: String*) = strings.map(_.toUpperCase())
}
 
val up = new Upper;
Console.println(up.upper("A", "First", "Scala", "Program"));
 
val up2 = new Upper2;
Console.println(up2.upper("A", "First", "Scala", "Program"));
 
Console.println(Upper3.upper("A", "First", "Scala", "Program"));
 
C:\tmp>scala up.scala
Array(A, FIRST, SCALA, PROGRAM)
Array(A, FIRST, SCALA, PROGRAM)
Array(A, FIRST, SCALA, PROGRAM)
 
曾在JavaEye上看到Robbin说,从Ruby程序,很容易看出Ruby程序员的资历。我想,对Scala也是一样。如果没有深入研究,那就是写最简单易懂的冗长代码,对于老手来讲,可能就是用最简洁的代码,却实现了非常强大的功能。让无数菜鸟们仰慕之。对于Java来讲,很难通过片段代码了解一个人的真实水平,需要通过代码的组织结构,API使用,OO和模式应用才可区分。而我们看到的很多application里边的代码,却往往差之千里,只能说他们可以运行。看来,借助Scala,很容易找出谁是菜鸟来。哈哈,开玩笑了。
分享到:
评论

相关推荐

    scala编程中文pdf

    scala编程 33章 中文pdf Scala编程实战 目录 第1章字符串. 11 第2章数值39 第3章控制结构.60 第4章类和属性.103 第5章方法147 第6章对象170 第7章包和导入.190 第8章特质200 第9章函数式编程214 第10 章集合242 第...

    Scala编程 第3版中文版.7z

    《Scala编程(第3版)》由直接参与Scala开发的一线人员编写,因而对原理的解读和应用的把握更加值得信赖。《Scala编程(第3版)》面向具有一定编程经验的开发者,目标是让读者能够全面了解和掌握Scala编程语言的核心...

    Scala编程 pdf

    Scala编程是一种多范式、函数式和面向对象的编程语言,设计目的是为了提高开发者的生产力,同时保持代码的可维护性和高性能。它是由Martin Odersky在2003年设计并实现的,融合了Java虚拟机(JVM)的优势,并引入了...

    Scala编程详解 第16讲-Scala编程详解:函数式编程 共14页.pptx

    【课程大纲】第1讲-Spark的前世今生 共12页第2讲-课程介绍、特色与价值 共13页第3讲-Scala编程详解:基础语法 共8页第4讲-Scala编程详解:条件控制与循环 共7页第5讲-Scala编程详解:函数入门 共5页第6讲-Scala编程...

    Scala编程(第3版)

    《Scala编程(第3版)》面向具有一定编程经验的开发者,目标是让读者能够全面了解和掌握Scala编程语言的核心特性,并能够深入理解Scala这门语言在设计取舍背后的动因。即便是不直接使用Scala或从事一线编程工作的...

    Scala编程详解 第15讲-Scala编程详解:面向对象编程之Trait 共14页.pptx

    【课程大纲】第1讲-Spark的前世今生 共12页第2讲-课程介绍、特色与价值 共13页第3讲-Scala编程详解:基础语法 共8页第4讲-Scala编程详解:条件控制与循环 共7页第5讲-Scala编程详解:函数入门 共5页第6讲-Scala编程...

    Scala编程详解 第17讲-Scala编程详解:函数式编程之集合操作 共9页.pptx

    【课程大纲】第1讲-Spark的前世今生 共12页第2讲-课程介绍、特色与价值 共13页第3讲-Scala编程详解:基础语法 共8页第4讲-Scala编程详解:条件控制与循环 共7页第5讲-Scala编程详解:函数入门 共5页第6讲-Scala编程...

    Scala编程详解 第3讲-Scala编程详解:基础语法 共8页.pptx

    【课程大纲】第1讲-Spark的前世今生 共12页第2讲-课程介绍、特色与价值 共13页第3讲-Scala编程详解:基础语法 共8页第4讲-Scala编程详解:条件控制与循环 共7页第5讲-Scala编程详解:函数入门 共5页第6讲-Scala编程...

    Scala编程详解 第18讲-Scala编程详解:模式匹配 共11页.pptx

    【课程大纲】第1讲-Spark的前世今生 共12页第2讲-课程介绍、特色与价值 共13页第3讲-Scala编程详解:基础语法 共8页第4讲-Scala编程详解:条件控制与循环 共7页第5讲-Scala编程详解:函数入门 共5页第6讲-Scala编程...

    Scala编程详解 第5讲-Scala编程详解:函数入门 共5页.pptx

    【课程大纲】第1讲-Spark的前世今生 共12页第2讲-课程介绍、特色与价值 共13页第3讲-Scala编程详解:基础语法 共8页第4讲-Scala编程详解:条件控制与循环 共7页第5讲-Scala编程详解:函数入门 共5页第6讲-Scala编程...

    Scala编程详解 第11讲-Scala编程详解:Map与Tuple 共8页.pptx

    【课程大纲】第1讲-Spark的前世今生 共12页第2讲-课程介绍、特色与价值 共13页第3讲-Scala编程详解:基础语法 共8页第4讲-Scala编程详解:条件控制与循环 共7页第5讲-Scala编程详解:函数入门 共5页第6讲-Scala编程...

    Scala编程实战(包含源码)完整版Alvin Alexander著.part1.rar

    Scala编程实战(包含源码)完整版Alvin Alexander著.part1.rar

    Scala编程详解 第10讲-Scala编程详解:数组操作之数组转换 共5页.pptx

    【课程大纲】第1讲-Spark的前世今生 共12页第2讲-课程介绍、特色与价值 共13页第3讲-Scala编程详解:基础语法 共8页第4讲-Scala编程详解:条件控制与循环 共7页第5讲-Scala编程详解:函数入门 共5页第6讲-Scala编程...

    Scala编程详解 第20讲-Scala编程详解:隐式转换与隐式参数 共9页.pptx

    【课程大纲】第1讲-Spark的前世今生 共12页第2讲-课程介绍、特色与价值 共13页第3讲-Scala编程详解:基础语法 共8页第4讲-Scala编程详解:条件控制与循环 共7页第5讲-Scala编程详解:函数入门 共5页第6讲-Scala编程...

    Scala编程详解 第7讲-Scala编程详解:函数入门之变长参数 共4页.pptx

    【课程大纲】第1讲-Spark的前世今生 共12页第2讲-课程介绍、特色与价值 共13页第3讲-Scala编程详解:基础语法 共8页第4讲-Scala编程详解:条件控制与循环 共7页第5讲-Scala编程详解:函数入门 共5页第6讲-Scala编程...

    scala编程指南第三版

    Scala编程指南第三版是针对大数据处理和分布式计算领域的一款重要参考书籍,特别是在Spark生态系统中,Scala作为基础语言,起着至关重要的作用。本指南详细介绍了Scala语言的核心概念、语法特性和高级特性,旨在帮助...

    Scala编程详解 第6讲-Scala编程详解:函数入门之默认参数和带名参数 共5页.pptx

    【课程大纲】第1讲-Spark的前世今生 共12页第2讲-课程介绍、特色与价值 共13页第3讲-Scala编程详解:基础语法 共8页第4讲-Scala编程详解:条件控制与循环 共7页第5讲-Scala编程详解:函数入门 共5页第6讲-Scala编程...

    《scala编程》第3版英文版&第3版源码

    资源包含《Scala编程》第3版英文版和第3版源代码,Scala编程第3版,目前是最新版,支持Scala 2.11以上。《Scala编程》是Scala语言的创始人参与编写的,涵盖的语法特性非常全面,并且作者解释了为什么这么设计,有...

    大数据课程-Scala编程基础-1.Scala语言初识_lk_edit.ppt

    【大数据课程-Scala编程基础-1.Scala语言初识】是针对初学者设计的一门课程,旨在教授如何入门Scala编程,特别适合已有Java基础的学员。Scala是一种在2001年由洛桑联邦理工学院(EPFL)的编程方法实验室研发的语言,...

Global site tag (gtag.js) - Google Analytics