Zmienne globalne

Zmienna globalna jest dostępna we wszystkich funkcjach (nadrzędnych i zagnieżdżonych) żółwia, który ją utworzył. Zauważ, że instrukcje znajdujące się poza funkcjami zadeklarowanymi w programie są treścią głównej funkcji żółwia #first.
Żółwie w POOL działają równolegle, a każdy żółw ma swój niezależny zestaw zmiennych globalnych i lokalnych. Żółwie mogą odczytywać wartości zmiennych globalnych należących do innych żółwi przy pomocy operatora @ - zmienne globalne są odpowiednikiem zmiennych publicznych w innych językach programowania obiektowego.

Przykład:

to klasa :a :b
  let "priv :a + :b  ;zmienna lokalna - "chroniona"
  make "s2 :priv^2   ;zmienna globalna - "publiczna"

  to get_s           ;umożliwia odczytanie zmiennej chronionej
    op :priv
  end

  to set_s :s        ;umożliwia ustawienie zmiennej chronionej
    make "priv :s
    make "s2 :s^2    ;..oraz dodatkowe operacje
  end
end

make "t (newt $klasa 2 3)
print get_s @ :t
;print :priv @ :t    ;błąd: zmienna :priv jest niedostępna
print :s2 @ :t

(set_s 6) @ :t
print get_s @ :t
print :s2 @ :t

Rezultat wykonania:

5
25
6
36

Zobacz także:

Typy danych
Zmienne, dostęp do danych

Spis treści