![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Scala
IvanEye
My name is my virtue!
展开
-
快学Scala习题解答—第一章 基础
1 简介近期对Scala比较感兴趣,买了本《快学Scala》,感觉不错。比《Programming Scala:Tackle Multi-Core Complexity on the Java Virtual Machine》好很多。 是本不错的入门书。而且每个章节都设置了难度级别,每章有习题,可以巩固Scala语法。本文的目的就是针对这些习题进行解答2 基础原创 2012-12-02 22:44:07 · 2804 阅读 · 2 评论 -
快学Scala习题解答—第八章 继承
9 继承9.1 扩展如下的BankAccount类,新类CheckingAccount对每次存款和取款都收取1美元的手续费class BankAccount(initialBalance:Double){ private var balance = initialBalance def deposit(amount:Double) = { balance +原创 2012-12-11 20:43:18 · 1858 阅读 · 0 评论 -
Java&Scala比较---设计模式(Singleton)
单例模式在Scala中就是一个默认实现的模式。 对于Java中的单例模式,请看http://www.ivanpig.com/blog/?p=75。 虽然从代码上看,单例模式很简单。但是涉及到多线程问题,问题会很复杂。 Scala中完全不用担心这个问题。object Single{ def say(){ println("Hello") } def ma原创 2013-03-31 11:47:42 · 1120 阅读 · 0 评论 -
快学Scala习题解答—第十三章 集合
14.1 编写一个函数,给定字符串,产出一个包含所有字符的下标的映射。举例来说:indexes("Mississippi")应返回一个映射,让'M'对应集{0},'i'对应集{1,4,7,10},依此类推。使用字符到可变集的映射。另外,你如何保证集是经过排序的?更新scala到版本2.10.0。有可变的可排序的Set,实际上还是TreeSetimport collection.muta原创 2013-02-16 21:13:56 · 2438 阅读 · 0 评论 -
快学Scala习题解答—第十四章 模式匹配和样例类
15 模式匹配和样例类15.1 JDK发行包有一个src.zip文件包含了JDK的大多数源代码。解压并搜索样例标签(用正则表达式case [^:]+:)。然后查找以//开头并包含[Ff]alls?thr的注释,捕获类似// Falls through或// just fall thru这样的注释。假定JDK的程序员们遵守Java编码习惯,在该写注释的地方写下了这些注释,有多少百分比原创 2013-03-10 22:36:33 · 2514 阅读 · 0 评论 -
快学Scala习题解答—第十二章 高阶函数
13 高阶函数13.1 编写函数values(fun:(Int)=>Int,low:Int,high:Int),该函数输出一个集合,对应给定区间内给定函数的输入和输出。比如,values(x=>x*x,-5,5)应该产出一个对偶的集合(-5,25),(-4,16),(-3,9),…,(5,25)object Test extends App { def values(f原创 2013-01-07 19:30:39 · 1809 阅读 · 0 评论 -
How Tomcat Works(Scala语言) 02 一个简单的Servlet容器
3 一个简单的Servlet容器Servlet容器除了能访问静态资源以外,还能访问Servlet。所以比前一章多了两个类StaticResourceProcessor和ServletProcessor此处的Servlet依据Servlet规范实现,所以需要servlet.jar。后续会自己实现此接口访问静态资源的方式和前篇代码完全相同,只是将response.sendStaticRes原创 2013-01-03 20:45:38 · 1217 阅读 · 0 评论 -
快学Scala习题解答—第十一章 操作符
12 操作符12.1 根据优先级规则,3 + 4 -> 5和3 -> 4 + 5是如何被求值的?在REPL中执行即可得到结果。都是从左至右执行12.2 BigInt类有一个pow方法,但没有用操作符字符。Scala类库的设计者为什么没有选用**(像Fortran那样)或者^(像Pascal那样)作为乘方操作符呢?Scala中的操作符就是方法,其优先级原创 2013-01-02 21:21:31 · 1932 阅读 · 0 评论 -
How Tomcat Works(Scala语言) 01 一个简单的Web服务器
1 简介此文算是《How Tomcat Works》的Scala代码解析版。主要从代码角度来分析Tomcat的结构。使用Scala来进行说明。 采用简单说明+代码注释的方式来描述,代码也尽量简单化,做到以最少的文字来进行表述。2 一个简单的Web服务器一个静态服务器,根据请求,返回请求的静态文件内容三个类HttpServer,Response,RequestRe原创 2013-01-01 10:39:15 · 1806 阅读 · 0 评论 -
快学Scala习题解答—第十章 特质
11 特质11.1 java.awt.Rectangle类有两个很有用的方法translate和grow,但可惜的是像java.awt.geom.Ellipse2D这样的类没有。在Scala中,你可以解决掉这个问题。定义一个RenctangleLike特质,加入具体的translate和grow方法。提供任何你需要用来实现的抽象方法,以便你可以像如下代码这样混入该特质:va原创 2012-12-16 20:13:34 · 1700 阅读 · 0 评论 -
快学Scala习题解答—第九章 文件和正则表达式
10 文件和正则表达式10.1 编写一小段Scala代码,将某个文件中的行倒转顺序(将最后一行作为第一行,依此类推)import io.Sourceimport java.io.PrintWriterval path = "test.txt"val reader = Source.fromFile(path).getLines()val result = re原创 2012-12-12 19:37:42 · 1583 阅读 · 0 评论 -
快学Scala习题解答—第七章 包和引入
8 包和引入8.1 编写示例程序,展示为什么package com.horstmann.impatient不同于package compackage horstmannpackage impatient分别使用package的效果如下package com { class T1() {} package horstmann { cl原创 2012-12-10 19:24:38 · 2300 阅读 · 1 评论 -
快学Scala习题解答—第二章 控制结构和函数
3 控制结构和函数3.1 一个数字如果为正数,则它的signum为1;如果是负数,则signum为-1;如果为0,则signum为0.编写一个函数来计算这个值简单的逻辑判断def signum(num:Int){if(num>0)print(1)else if(numelse print(0)}Scala中已经有此方法了,刚才查找API的时候,应该能看到Big原创 2012-12-03 19:26:27 · 3213 阅读 · 4 评论 -
快学Scala习题解答—第六章 对象
7 对象7.1 编写一个Conversions对象,加入inchesToCentimeters,gallonsToLiters和milesToKilometers方法object Conversions{ def inchesToCentimeters(){} def gallonsToLiters(){} def milesToKilometers()原创 2012-12-09 19:24:51 · 1181 阅读 · 0 评论 -
快学Scala习题解答—第五章 类
6 类6.1 改进5.1节的Counter类,让它不要在Int.MaxValue时变成负数加个判断就OK了class Count{ private var value = Int.MaxValue def increment(){if(value else value } def current = value}6.2 编写一个BankA原创 2012-12-06 18:17:12 · 2265 阅读 · 1 评论 -
快学Scala习题解答—第四章 映射和元组
5 映射和元组5.1 设置一个映射,其中包含你想要的一些装备,以及它们的价格。然后构建另一个映射,采用同一组键,但是价格上打9折映射的简单操作scala> val map = Map("book"->10,"gun"->18,"ipad"->1000)map: scala.collection.immutable.Map[java.lang.String,Int] =原创 2012-12-05 21:24:40 · 1673 阅读 · 1 评论 -
快学Scala习题解答—第三章 数组相关操作
4 数组相关操作4.1 编写一段代码,将a设置为一个n个随机整数的数组,要求随机数介于0(包含)和n(不包含)之间random和yield的使用import scala.collection.mutable.ArrayBufferimport scala.math.randomdef randomArray(n:Int):Array[Int]={ val原创 2012-12-04 20:15:53 · 3295 阅读 · 5 评论 -
欢迎关注微信公众账号PigCode
开通了微信公众账号,欢迎大家关注: PigCode不定期推送博客文章,及编程相关内容.方便手机阅读.原创 2014-03-25 20:57:26 · 1204 阅读 · 0 评论