Moin
Aus anderen Sprachen kennt man Sonderbehandlung der ersten 32 ASCII Zeichen, wie Newline, Bell, Tab etc ueber "\n", "\t", "\b". Wenn ich auf Newline, Linefeed oder Carriagereturn testen will kann ich das mit 10 und 13 loesen. Es gibt aber sicher vordefinierte "Konstanten", oder?
Ja, die gibt es. Sie stehen im pool dictionary TextConstants. Mit "TextConstants inspect" kann man sich einen Überblick verschaffen, welche Namen definiert sind.
Ah. Gut zu wissen
Damit man die symbolischen Namen in einer Methode verwenden kann, muss man TextConstants in der Klassendefinition als pool dictionary angeben: Object subclass: #MyDemoClass instanceVariableNames: '' classVariableNames: '' poolDictionaries: 'TextConstants' category: 'Demo' Dann sind Ausdrücke wie character = Tab. string at: 1 put: Space. compilierbar. Leider ist TextConstants ein bißchen unvollständig, aber das kann man ändern. TextConstants ist ein normales Dictionary, man kann also z.B. schreiben: TextConstants at: #Lf put: Character lf
Das hilft mir weiter.
Danke Enno
PS: Das man MessageNotUnderstood dictionaryMenu ausloest, wenn man das Kontextmenu zu einem TextConstants-Symbol im Inspector aufruft ist gewollt?