Ho appena trovato un po 'di codice Scala che ha un nome di classe strana: nomeI nomi di classi e metodi alla moda racchiusi in ``: class `Questa è una classe fantastica {}?
class `This is a cool class` {}
e metodo:
def `cool method` = {}
Possiamo usare una frase per un nome di classe o un metodo!
E 'molto fresco e utile per unit test:
class UserTest {
def `user can be saved to db` {
// testing
}
}
Ma perché siamo in grado di fare questo? Come capirlo?
+1 per dare un * motivo * sul perché i backtick ci sono. – Frank
Ho la sensazione che il caso d'uso degli OP possa essere stato considerato, altrimenti sarebbe necessario un solo simbolo per denotare un identificatore quotato molto simile a come C# lo fa –
@jk. - Solo se il lexing di Scala funziona allo stesso modo di tutti gli altri. Le specifiche JVM consentono quasi qualsiasi cosa come nome di un metodo. Non sono sicuro che Scala sia abbastanza intelligente da controllare sia la sua codifica Java-compatible dei simboli (ad esempio lo spazio diventa $ u0020) sia la versione raw, ma potrebbe essere _ se si scrivesse una lingua che inserisca caratteri non standard nei nomi dei metodi. –