`
chenjingbo
  • 浏览: 460642 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

scala笔记- 有趣的记录

 
阅读更多

前言

就是记录一些scala中有趣的特性。

 

import 排除

  import java.math.BigInteger.{
    ONE  => _,
    TEN
  }
  println(TEN)
  // println(ONE) compile error

可以把ONE 给排除掉。

 

抽象类型

package typeless

import java.io.File

import scala.io.Source

/**
  * Created by zhenghui on 2016/10/22.
  */
abstract class Reader {

  type In

  val source:In

  def reed:String
}

class StringReader(val source:String) extends Reader {
  override type In = String

  override def reed: String = source
}

class FileReader(val source:File) extends Reader{
  override type In = File

  override def reed: String = Source.fromFile(source).mkString
}

object Main extends App{
  println(new StringReader("hello scala").reed)
  println(new FileReader(new File("d:\\Foo.java")).reed)
}


 捕获非致命错误

  try {
    println(Source.fromFile("d:\\Foo.java").mkString)
  } catch {
    case NonFatal(e) => e.printStackTrace()
  }

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics