Während das OP höchstwahrscheinlich bedeutete "was erlaubt ist in der regulären syntaktischen Syntax ", ich denke, es ist aufschlussreich, darauf hinzuweisen, dass die" Smalltalk Textual Language "nur eine Zwischentextdarstellung ist, um zu einem Objektmodell zu gelangen. Wenn Sie bereit sind, kreativ zu sein, können Sie tatsächlich Dinge tun, die die Syntax mit ihren Zielen der Analyse von Einfachheit schwer unterstützen würde.
Zum Beispiel können Sie Methoden, die mit Zahlen beginnen:
Object methodDictionary at: #1a put: (Object >> #yourself) copy.
Object new perform: #1a
Warum Strings haben, die mit Zahlen beginnen, wenn Sie nur Zahlen direkt verwenden können?
Object methodDictionary at: 42 put: (Object >> #yourself) copy.
Object new perform: 42
Oder wie wäre es nur mit leeren Saiten?
Object methodDictionary at: #'' put: (Object >> #yourself) copy.
Object new perform: #''
Ihr Browser kann mit diesen Methoden, die zu Ihrem System hinzugefügt werden, ordnungsgemäß behandelt werden oder auch nicht.
Ähnliche Manipulationen können mit Instanzvariablen durchgeführt werden.
Wow ... es muss sogar mit einem Kleinbuchstaben beginnen. Hmmm ... danke! – unmircea
Selektoren, die mit einem Großbuchstaben beginnen, sind gültig. Die allgemeine Regel ist, dass Selektoren mit einem alphabetischen Zeichen beginnen und mit 0 oder mehr Ziffern oder Alpha folgen müssen, außer für binäre Selektoren, die eine Sequenz von!% & * +, -/<=>? @ \ ~ | Sein müssen. Sie können dies in RBScanner initializeClassificationTable überprüfen. –