行到水穷处,坐看云起时
发布时间:2015-05-27 17:59:07
Scala的异常处理和Java类似,也是try{}catch{}finally{},不同的是,Scala中没有checked exception,所有异常在catch代码块用模式匹配处理,示例如下:scala> import java.io.FileReaderimport java.io.FileReaderscala> import java.io.FileNotFoundExceptionimport java.io.FileNotFoundExceptionscala> import j.........【阅读全文】
发布时间:2015-05-27 16:40:17
Scala中,正则表达式和Java类似,具体可以参考java.util.regex.PatternScala中,正则表达式类为scala.util.matching.Regex其中,Regex也可以用正则表达式字符串.r方式来构造,示例如下:scala> import scala.util.matching.Regeximport scala.util.matching.Regexscala> val Decimal = new Regex("(-)?(\\d+)(\\.\\d.........【阅读全文】
发布时间:2015-05-27 15:30:25
Scala中,extractors(提取器)是一个object,功能和case class类似,用来匹配特定的模式。Extractor中,都会包含一个unapply方法,用于匹配特定值并将其进行拆分成多个属性;同时可以包含apply方法(可选),用于从多个属性构造出特定的值。比如:scala> object Email{ | def apply(user:String,.........【阅读全文】
发布时间:2015-05-25 23:03:32
泛型:Scala中,泛型定义方式和Java类似,如下:class className[T] (params:){...}其中T为类型参数比如:scala> class Basket[T]defined class Basket可变性:假如Apple是Fruit的子类,那么Basket[Fruit]和Basket[Apple]之间会不会存在父子关系?scala> class Fruit(val name:String, val color:String){.........【阅读全文】
发布时间:2015-04-01 10:34:40
Case classcase class和普通class类似,只是定义的时候以case class开始,而不是class。对于case class,编译器自动添加伙伴object,伙伴object中包含apply和unapply方法,apply提供了简化构造实例的方式(可以省略new关键字),unapply提供了对class实例属性提取的方法。Scala中,对于X(param), x为object名称或者class实.........【阅读全文】