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é

  9. Výrazy

  9.1 Indexové výrazy
  9.2 Volání funkcí
    Volání hodnotou
    Rekurze
  9.3 Aritmetické operace
  9.4 Relační operace
  9.5 Logické výrazy
    Log. op. prvek-za-prvkem
    Zkratové logické operátory
  9.6 Přiřazovací výrazy
  9.7 Přírustkové výrazy
  9.8 Priorita operátorů

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í

9.2.1 Volání hodnotou

V Octave, jsou argumenty předávány hodnotou, což znamená, že každý argument ve volání funkce je počítán a přiřazen dočasnému místu v paměti předtím, než se předá funkci. Aktuálně zde nejsou žádné možnosti, jak specifikovat, že funkční parametr by měl být předáván odkazem místo hodnoty. To znamená, že je nemožné se odvolávat přímo na nějakou hodnotu parametru funkce ve volání této funkce. Takhle se dá změnit pouze lokální kopie uvnitř těla funkce. Například funkce:

function f (x, n)
  while (n-- > 0)
    disp (x);
  endwhile
endfunction


zobrazuje hodnotu prvního argumentu n-krát. V této funkci, proměnná n je použita jako dočasná proměnná bez toho abychom si dělali starosti z toho, jestli se její hodnota může změnit ve volání funkce. Volání hodnotou je také užitečné protože je vždy možné předat konstanty pro kterýkoli parametr funkce bez toho, abychom museli první definovat, že se funkce nebude pokoušet parametr měnit.

Při volání se může použít proměnné jako výrazu pro argument, ale volaná funkce o tom neví. Zná pouze hodnotu, kterou argument měl. Například daná funkce volaná:

foo = "bar";
fcn (foo)


neměli bychom si myslet, že argumentem bude proměnná foo. Místo toho vězte, že argumentem je hodnota řetězce bar.

 < 9.2 Volání funkcí < > 9.2.2 Rekurze > 
© 2006 Michal Just
info(a)octave.cz
inzerce zdarma
Sport365.cz - squash, tenis, badminton ...