Utwórz wiele żółwi (konstruktor synchroniczny)
(newturtles n)
newturtles n [instrukcje]
(newturtles n [instrukcje] wyrażenie1 wyrażenie2 ...)
newturtles n funkcja
(newturtles n funkcja wyrażenie1 wyrażenie2 ...)
Tworzy n nowych żółwi jednocześnie. Lista instrukcji lub funkcja podane jako argument są
wykonywane jako konstruktor dla każdego nowego żółwia. Konstruktory są wykonywane równolegle. Żółw wywołujący
instrukcję newturtles
czeka na zakończenie wykonania
wszystkich konstruktorów. Argumenty konstruktora mogą być podane jako opcjonalne wyrażenia (wszystkie nowe
żółwie użyją tych samych wartości wyrażeń).
Przykład 1:
"t := (newturtles 3)
print who
print children
foreach "ti :t [(print who @ :ti parent @ :ti )]
Rezultat wykonania:
first
[t1 t2 t3]
t1 first
t2 first
t3 first
Przykład 2:
"t := newturtles 3 [
"x := random 10
print who
]
foreach "ti :t [print :x @ :ti]
Rezultat wykonania:
t1
t2
t3
2
5
3
Przykład 3:
to model :dt
repeat 3 [print who wait :dt]
"x := :dt
end
"t := (newturtles 2 $model 50)
foreach "ti :t [print :x @ :ti]
Rezultat wykonania:
model1
model2
model1
model2
model1
model2
50
50
Zobacz także:
Żółw - obiekt
Spis treści