blob: b9efadf0d4d9e69014294c7beb79eece9b04283f (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
enum class Option[+T] extends Serializable {
def isDefined: Boolean
}
object Option {
def apply[T](x: T): Option[T] = if (x == null) None else Some(x)
case Some(x: T) {
def isDefined = true
}
case None extends Option[Nothing] {
def isDefined = false
}
}
object Test {
def main(args: Array[String]) = {
assert(Some(None).isDefined)
Option(22) match { case Option.Some(x) => assert(x == 22) }
}
}
|