go4it

just do it

2009年7月16日

Scala学习(五)函数和闭包

摘要: 第1章函数和闭包 当程序变得庞大时,你需要一些方法把它们分割成更小的,更易管理的片段。为了分割控制流,Scala提供了所有有经验的程序员都熟悉的方式:把代码分割成函数。实际上,Scala提供了许多Java中没有的定义函数的方式。除了作为对象成员函数的方法之外,还有内嵌在函数中的函数,函数文本和函数值。本章带你体会所有Scala中的这些函数的风味。 1.1 方法 定义函数最通用的方法是作为某个对象的... 阅读全文

posted @ 2009-07-16 14:19 cxccbv 阅读(2355) 评论(0) 推荐(0)

Scala学习(四)内建控制器

摘要: 第1章内建控制结构 Scala里没有多少内建控制结构。仅有的包括if,while,for,try,match和函数调用。如此之少的理由是,从一开始Scala就包括了函数文本。代之以在基本语法之上一个接一个添加高层级控制结构,Scala把它们汇集在库里。第9章将更细致地展现如何做到这点。本章将展现仅有的几个内建控制结构。 有件你会注意到的事情是,几乎所有的Scala的控制结构都会产生某个值。这是函数... 阅读全文

posted @ 2009-07-16 14:14 cxccbv 阅读(1412) 评论(0) 推荐(0)

Scala学习(三)函数式对象

摘要: from Scala向导 第1章函数式对象 有了从前几章获得的Scala基础知识,你已经为探索如何在Scala里设计出更全面特征的对象做好了准备。本章的重点在于定义函数式对象,也就是说,没有任何可变状态的对象的类。作为运行的例子,我们将创造若干把分数作为不可变对象建模的类的变体。在这过程中,我们会展示给你Scala面向对象编程的更多方面:类参数和构造函数,方法和操作符,私有成员,子类方法重载,先决... 阅读全文

posted @ 2009-07-16 13:45 cxccbv 阅读(944) 评论(0) 推荐(0)

Scala学习(二)

摘要: from Scala向导中文版 第1章基本类型和操作 本章里,你会获得Scala基本类型的概观,包括String和值类型Int,Long,Short,Byte,Float,Double,Char还有Boolean。你会学到可以在这些类型上执行的操作,包括Scala表达式里的操作符优先级是如何工作的。你还会学到隐式转换是如何“丰富”这些基本类型的变体,并带给你那些由Java提供支持之外的附加操作。 ... 阅读全文

posted @ 2009-07-16 13:03 cxccbv 阅读(3141) 评论(0) 推荐(0)

Scala学习(一)

摘要: 一、Scala论断 Scala可以通过让你提升你设计和使用的接口的抽象级别来帮助你管理复杂性。例如,假设你有一个String变量name,你想弄清楚是否String包含一个大写字符。 val nameHasUpperCase = name.exists(_.isUpperCase) Java代码把字串看作循环中逐字符步进的低层级实体。Scala代码把同样的字串当作能用论断:predicate查询的... 阅读全文

posted @ 2009-07-16 12:59 cxccbv 阅读(1265) 评论(0) 推荐(0)

Scala是函数式的

摘要: Scala是函数式的 除了作为一种纯面向对象的语言,Scala还是一种“全须全尾儿”的函数式语言。函数式语言的思想早于(电子)计算机。其基础建立在Alonzo Church于1930年代发展的λ算子(lambda calculus)上。第一个函数式编程语言是50年代后期的Lisp。其他流行的函数式语言有Scheme,SML,Erlang,Haskell,OCaml和F#。很长一段时间,函数式语言处... 阅读全文

posted @ 2009-07-16 11:10 cxccbv 阅读(471) 评论(1) 推荐(0)

哪种语言将统治多核时代 再看函数式语言特性

摘要: http://developer.51cto.com/art/200906/132568.htm 【51CTO外电精选】最近这几年,软件开发语言可谓是层出不穷。在这些新的编程语言中,最多的就是函数式语言。本文将向你介绍函数式语言的概念、术语、方法以及几种典型的函数式语言。本文面向的读者是那些已经懂得其它编程语言、但却对函数式语言没有了解的开发人员。 什么是函数式语言? 如果你已经用面向对象的语言(... 阅读全文

posted @ 2009-07-16 11:07 cxccbv 阅读(572) 评论(0) 推荐(0)

导航