22 lines
378 B
Plaintext
22 lines
378 B
Plaintext
enum class Option[A] {
|
|
Some(A)
|
|
None
|
|
}
|
|
|
|
# Only variables of class Option can be assigned to None.
|
|
|
|
# Type: Option[integer]
|
|
var v = Some(10)
|
|
|
|
# Valid: v is an Option, and any Option can be assigned to None
|
|
v = None
|
|
|
|
# Invalid! v is an Option[integer], not just a plain integer.
|
|
v = 10
|
|
|
|
# Type: integer
|
|
var w = 10
|
|
|
|
# Invalid! Likewise, w is an integer, not an Option.
|
|
w = None
|