Funkcja
func nazwa
$nazwa
Instrukcja func
pozwala użyć funkcję o danej nazwie jako wartość.
Instrukcja zwraca funkcję, która w danym momencie wykonania programu zostałaby użyta w normalnym wywołaniu (funkcje w języku POOL
są wirtualne i mogą być przesłaniane przez definicje w funkcjach zagnieżdżonych i klasach potomnych). Raz odczytana wartość nie
ulega zmianie w razie przesłonięcia funkcji przez później następujące definicje.
Analogicznie do instrukcji thing
, instrukcja func
posiada jednoznakowy skrót: symbol $
, wymagający podania stałej nazwy funkcji.
Przykład 1:
to ftest :x
output 2 * :x
end
to in_box
to ftest :x
output :x / 2
end
print "in_box
print (call :f 5)
print ftest 5
end
make "f $ftest
print (call :f 5)
print ftest 5
in_box
Rezultat wykonania:
10
10
in_box
10
2.5
Przykład 2:
Funkcja model
użyta jako konstruktor żółwi.
to model
setxy (rnorm 0 100) (rnorm 0 50)
seth random 360
(setpc random 1000 random 60)
setps 40
pd fd 40
end
ht pu
make "t newturtles 20 $model
Rezultat wykonania: rysunek w oknie graficznym.
Zobacz także:
Funkcja jako wartość
Spis treści