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 ;zmienna globalna (publiczna)
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