Smalltalk Anfänger hat Frage zu Code

L

Ladnaks

Hallo Leute

Ich sehe mir gerade Smalltalk ein bisschen an und bin in einer Erklärung über den Smalltalk Syntax auf eine Stück Code gestoßen dass ich einfach nicht verstehe. Vielleicht treibt sich hier ja jemand rum der sich mit Smalltalk auskennt un mir weiterhelfen kann.

Es geht um folgendes:
aSymbol caseof: {[#a]->[1]. [’b’ asSymbol]->[2]}
aSymbol caseof: {[#a]->[1]. [#b]->[2]} otherwise: [3]

Ich verstehe einfach nicht was das macht. Das in den geschwungenen Klammern sieht aus wie ein dynamisches Array. Darin befinden sich dann Blöcke und Zuweisungen, aber was macht das ganze? Z.B. [#a]->[1]. Das ist ja ein Block in dem sich das Symbol a befindet und dem wird ein Block in dem sich nur eine 1 befindet zugewiesen. Ich verstehe nicht was dabei rauskommen soll.