Nowe metody iteratora mogą być definiowane za pomocą _iter oraz _loopbody:
_iter _method my_object.even_elements() _for a _over _self.elements() _loop _if a.even? _is _true _then _loopbody(a) _endif _endloop _endmethod
Procedury Magik obsługuje również funkcje zwane procedurami. Procedury są również obiektami i są deklarowane przy użyciu _proc i _endproc. Procedury są przypisane do zmiennych które mogą być następnie wywoływane:
my_procedure << _proc @my_procedure(a, b, c) _return a + b + c _endproc
x << my_procedure(1, 2, 3) # x = 6
Dziwactwa językowe Ponieważ Magik był oryginalnie rozwijany w Anglii, metody w jądrze bibliotek Smallworlda są pisane przy użyciu brytyjskiej odmiany języka angielskiego. Na przykład:
Użyj "initialise" zamiast "initialize".
Kolekcje Podobnie jak inne języki programowania Magik też ma kolekcje. Należą do nich: Simple Vector Rope Hash Table Property List Equality set Bags
Przykład Hello World Oto przykład z Hello world napisany w Magiku:
write ("Hello World!")
Linki zewnętrzne Smallworld Product Suite Technology MDT - Magik Development Tools IDE dla deweloperów GE Smallworld GIS Open Source (SourceForge) biblioteki do Smallworld GIS Posty na temat Magika Technical Paper No. 5 - Przegląd Smallworld Magik
Kategoria:Obiektowe języki programowania