Łańcuchy Wyrażenia dopasowania nie są kompilowane.Dlaczego kombinacja wyrażeń dopasowywania nie kompiluje się?
val x = Array("abc", "pqr")
x match {
case Array("abc", _*) => Some("abc is first")
case Array("xyz", _*) => Some("xyz is first")
case _ => None
} match {
case Some(x) => x
case _ => "Either empty or incorrect first entry"
}
Choć dodaje kompiluje grzywny:
(x match {
case Array("abc", _*) => Some("abc is first")
case Array("xyz", _*) => Some("xyz is first")
case _ => None
}) match {
case Some(x) => x
case _ => "Either empty or incorrect first entry"
}
Dlaczego nowszej (gdzie pierwszy mecz jest wyrażenie w nawiasach) skompilować porządku podczas wcześniej nie?
Nie ma nic do powiedzenia tutaj wyjątkiem 'match' nie jest metoda, ale słowo kluczowe i kompilator działają w ten sposób. – senia
@senia Zawsze można coś powiedzieć. Oczywiście nie zawsze oryginalne lub interesujące. –
@senia Jeśli już zostało udzielone, to nie będę miał odpowiedzi. –