Obudowa A/A, nie case
.Kiedy sprawa ma znaczenie syntaktyczne?
Widocznie case a
pasuje wszystko, a to wiąże się z nazwą a
, natomiast case A
szuka zmiennej A
i pasuje nic ==
uważa równa A
. Było to dla mnie zaskoczeniem; podczas gdy wiem, że Scala rozróżnia małe i wielkie litery, nigdy nie oczekiwałem, że przypadek identyfikatora wpłynie na reguły parsowania.
Czy często w składni Scala zależy na przypadku identyfikatorów, czy też jest tylko niewielka liczba kontekstów, w których to się dzieje? Jeśli jest tylko niewielka liczba takich kontekstów, jakie one są? Nie mogłem znaleźć niczego w Google; wszystko, co dostałem, to wyniki dotyczące dopasowywania wzorców.
Właściwie wierzę, że to jedyny, ale zostawię odpowiedź komuś, kto zna specyfikację lepiej ode mnie. –
Myślę, że szukasz [* stabilnych wzorów identyfikatorów *] (http://www.scala-lang.org/files/archive/spec/2.12/08-pattern-matching.html#stable-identifier-patterns) – Bergi
@Bergi: Właściwie już to powiązałem z pytaniem, chociaż ze śmiercią podkreślenia linku, może to być trudne do zauważenia. – user2357112