exceptions.scala

来自「JAVA 语言的函数式编程扩展」· SCALA 代码 · 共 54 行

SCALA
54
字号
//############################################################################// Exceptions//############################################################################// $Id: exceptions.scala 9116 2006-11-02 08:46:39Z mihaylov $//############################################################################abstract class IntMap[A] {    def lookup(key: Int): A = this match {        case Empty() => error("KO")        case _ => error("ok")    }}case class Empty[A]() extends IntMap[A];object exceptions {    def check(what: String, actual: Any, expected: Any): Unit = {        val success: Boolean = actual == expected;        Console.print(if (success) "ok" else "KO");        var value: String = if (actual == null) "null" else actual.toString();        if (value == "\u0000") value = "\\u0000";        Console.print(": " + what + " = " + value);        if (!success) Console.print(" != " + expected);        Console.println;        Console.flush;    }    def test: Unit = {        val key = 2000;        val map: IntMap[String] = new Empty[String];        val value = try {            map.lookup(key)        } catch {            case e => e.getMessage()        }        check("lookup(" + key + ")", value, "KO");    }}//############################################################################object Test {  def main(args: Array[String]): Unit = {    exceptions.test;  }}//############################################################################

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?