Open Sciss opened 3 years ago
When type hierarchy is introduced: https://docs.scala-lang.org/scala3/book/first-look-at-types.html
it is said that
…it means that we cannot pattern match on values of type Any, but only on values that are a subtype of Matchable.
Any
Matchable
The type Matchable is used in the example here: https://docs.scala-lang.org/scala3/book/why-scala-3.html
def isTruthy(a: Matchable) = a match case 0 | "" => false case _ => true
But here, the traditional Any is used: https://docs.scala-lang.org/scala3/book/taste-control-structures.html
def getClassAsString(x: Any): String = x match case s: String => s"'$s' is a String" case i: Int => "Int" case d: Double => "Double" case l: List[_] => "List" case _ => "Unknown"
Which is confusing.
And here: https://docs.scala-lang.org/scala3/book/methods-most.html
I can pick this up.
When type hierarchy is introduced: https://docs.scala-lang.org/scala3/book/first-look-at-types.html
it is said that
The type
Matchable
is used in the example here: https://docs.scala-lang.org/scala3/book/why-scala-3.htmlBut here, the traditional
Any
is used: https://docs.scala-lang.org/scala3/book/taste-control-structures.htmlWhich is confusing.