`
fineqtbull
  • 浏览: 51216 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
文章列表
《Scala 讲座:献给追求创意兴奋的程序员》是一个在日本最有人气的Scala语言讲座,读了之后的确觉得有的部分还真不错。看看连日本都在Scala语言应用方面有了不少进展,唉,国内好像还没什么人在用,也算他山之石借来用用吧 ...
《Scala 讲座:献给追求创意兴奋的程序员》是一个在日本最有人气的Scala语言讲座,读了之后的确觉得有的部分还真不错。看看连日本都在Scala语言应用方面有了不少进展,唉,国内好像还没什么人在用,也算他山之玉借来用用吧。大家如果反应热烈的话,还会挑一些该连载精彩的部分翻译一下。 翻译文章请看附件,下面是标题和目录 如何变成函数脑 第一季 目录 1. 前言..............................................................1 2. 用面向对象和函数式方法来解决全局变量问题............1 3. 将函数作为第一类对象来处理. ...
PrgInScala的8.9中提到了,对于尾递归(方法的递归调用在方法体的最后)方法Scala编译器会把字节码优化成循环,从而提高性能。但是在尝试书中的例子时却发现没有发生想象中的优化。下面是测试代码。 package fineqtbull; class Approx { def isGoodEnough(guess:Double):Boolean = if (guess < 1) true else false def improve(guess:Double): Double = guess - 1 de ...
《Scala 讲座:献给追求创意兴奋的程序员》是一个在日本最有人气的Scala语言讲座,本文是该连载的第六部。其它已翻译部分可以在Scala圈子里找到。 翻译文件请看附件,下面是目录。 1. 概要................................................1 2. 与Java相似之处......................................1 3. Scala的类层次(1) - Any、AnyVal、AnyRef..............1 4. Scala的类层次(2) - Nothing、Null................ ...
Scala中的for(... if(...)){}和for(...) if(...){}语句是否是等价的呢?由于for语句的内部实现机制,决定了它们不是等价的。 例1: scala> def compress[T](l : List[T]): List[T] = { | var r = List(l.first) | for(x <- l) if (x != r.last) r = r ::: List(x) | r | } compress: [T](List[T])List[T] scala> compress( ...
有位je上的同学来短信向我问起了Scala类型参数中协变、逆变、类型上界和类型下界的使用方法和原理,自己虽然也刚学不久,在主要调查了《Programing in Scala》的19章后,试着在下面做一个总结。如有错误之处还请各位指正。 先 ...
Scala编程第30章 Actors and Concurrency 例子分析。 源程序: /** * 《Programming In Scala》第30章 Actors and Concurrency 例子 */ package org.stairwaybook.simulation2 import scala.actors.Actor import scala.actors.Actor._ //Ping消息 Clock -> Simulant case class Ping(time: Int) //Pong消息 Simulat -> Clock ...
Scala编程第20章 Abstract Members 例子分析。 源程序: /** * 《Programming In Scala》第20章 Abstract Members 例子 */ package org.stairwaybook.currencies //货币区域基类 abstract class CurrencyZone { //货币类型,虚类型,用于方法的参数化,由于上界为AbstractCurrency所以子类型中定义 //的实类型必须是AbstractCurrency的子类 type Currency <: Abst ...
《Programming In Scala》第18章 Stateful Objects 例子分析。 源程序: /** * 《Programming In Scala》第18章 Stateful Objects 例子 */ package org.stairwaybook.simulation //模拟器基类 abstract class Simulation { //模拟动作,为函数 type Action = () => Unit //工作项目,time为动作启动时间,action为动作 case class WorkIte ...
《Programming In Scala》第15章 Case Classes and Pattern Matching 例子 源程序: /** * 《Programming In Scala》第15章 Case Classes and Pattern Matching 例子 */ package org.stairwaybook.expr import layout.Element.elem import layout.Element //表达式基类 sealed abstract class Expr //变量 case class Var(name: Str ...
《Programming In Scala》第10章 Composition and Inheritance 例子。 源代码: /** * 《Programming In Scala》第10章 Composition and Inheritance 例子 */ package layout //工厂单例对象 object Element { //数组元素,内容为多行 private class ArrayElement( val contents: Array[String] ) extends Element / ...
本连载的第五部,本连载的介绍可见如下链接。 http://fineqtbull.iteye.com/admin/blogs/469137 可以在看完如下《Scala语言探险 一》和《Scala语言探险 二》后再看本部 http://fineqtbull.iteye.com/admin/blogs/470635 http://fineqtbull.iteye.com/admin/blogs/471632 翻译文章请看附件,下面是标题和目录。在前一部介绍了面向对象功能后,本部连载主要介绍了一下Scala中函数式编程的部分。 1. 序言........................ ...
本连载的第四部,本连载的介绍可见如下链接。 http://fineqtbull.iteye.com/admin/blogs/469137 可以在看完如下《Scala语言探险 一》后再看本部 http://fineqtbull.iteye.com/admin/blogs/470635 翻译文章请看附件,下面是标题和目录。个人认为,文中如何将Scala运用于面向方面编程(AOP)的部分观点比较独到,值得重点看一看。 Scala语言探险 二 1. 序言..........................................1 2. 用特征来实现混入(mix-in)式的多重继 ...
本连载的第三部,本连载的介绍可见如下链接。 http://fineqtbull.iteye.com/admin/blogs/469137 翻译文章请看附件,下面是标题和目录 Scala语言探险 一 1. 序言.................................1 2. 类定义和构造函数......................1 3. 包和函数定义以及类型声明...............4 4. Scala中操作符也是方法.................5 5. Java与Scala的混合....................6 6. Scala与Java在语法上 ...
Global site tag (gtag.js) - Google Analytics