Octave, průvodce programem

  Hlavní stránka
  Přehled kapitol


  1. Krátké představení Octave   2. Práce s programem
  3. Datové typy
  4. Číselné datové typy
  5. Řetězce
  6. Datové struktury
  7. Datové kontejnery

  8. Proměnné

  8.1 Globální proměnné
  8.2 Stálé proměnné
  8.3 Status proměnných
  8.4 Výchozí proměnné prostř.

  9. Výrazy
10. Vyhodnocení
11. Příkazy
12. Funkce a skriptovací
      soubory
13. Vstup a výstup
14. Vykreslování
15. Práce s maticemi
16. Aritmetika
17. Lineární algebra
18. Nelineární rovnice
19. Kvadratura
20. Diferenciální rovnice
21. Práce s polynomy
22. Teorie řízení

8.1 Globální proměnné

K proměnným, které byly deklarovány jako globální může být přistupováno z vnitřku těla funkcí bez toho, aniž by byly předávány formálním parametrem.

Proměnné mohou být deklarovány jako globální pomocí deklarace globálního tvrzení. Následující tvrzení jsou všechno globální deklarace.

global a
global a b
global c = 2
global d = 3 e f = 5

Globální proměnné mohou být inicializovány pouze jednou a to globálním tvrzením. Například po provedení následujícího kódu

global gvar = 1
global gvar = 2

bude hodnota globální proměnné gvar 1, ne 2.

Je nezbytné deklarovat proměnnou jako globální uvnitř funkce za účelem pozdějšího přístupu k ní. Například

global x
function f ()
  x = 1;
endfunction
f ()

nenastaví hodnotu globální proměnné x na 1. Pokud chcete měnit hodnotu globální proměnné x musíte ji také deklarovat jako globální uvnitř těla funkce - jako zde:

function f ()
  global x;
  x = 1;
endfunction

Předávání globální proměnné v seznamu funkčních parametrů udělá pouze lokální kopii, ale nemění obsah původní globální proměnné. Například je dána funkce
function f (x)
  x = 0
endfunction
a definice x jako globální proměnné uvedené někde výše
global x = 13
pak výraz
f (x)
zobrazí hodnotu x z vnitřku funkce jako 0, ale hodnota x na vyšší úrovni zůstává nezměněna, protože funkce pracuje pouze s kopií jejího argumentu.

Zabudovaná funkce: isglobal (name)
Vrací 1 pokud je jméno globálně viditelné, v jiném případě vrací 0. Například:

global x
isglobal ("x")
  => 1

 < 8. Proměnné < > 8.2 Stálé proměnné > 
© 2006 Michal Just
info(a)octave.cz
inzerce zdarma
Sport365.cz - squash, tenis, badminton ...