|
Scala example source code file (bug3097.scala)
The Scala bug3097.scala source codepackage seal sealed trait ISimpleValue sealed trait IListValue extends ISimpleValue { def items: List[IAtomicValue[_]] } sealed trait IAtomicValue[O] extends ISimpleValue { def data: O } sealed trait IAbstractDoubleValue[O] extends IAtomicValue[O] { } sealed trait IDoubleValue extends IAbstractDoubleValue[Double] case class ListValue(val items: List[IAtomicValue[_]]) extends IListValue class DoubleValue(val data: Double) extends IDoubleValue { def asDouble = data } object Test { /** * @param args the command line arguments */ def main(args: Array[String]): Unit = { val v: ISimpleValue = new DoubleValue(1) v match { case m: IListValue => println("list") case a: IAtomicValue[_] => println("atomic") } } } Other Scala examples (source code examples)Here is a short list of links related to this Scala bug3097.scala source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.