Goto http://www.stucuk.netGoto http://www.atlanticaonlinewiki.comGoto http://www.game-requirements.com

Functions/cs

From Original War Support Wiki

Jump to: navigation, search


Contents

Co to je

Funkce je pojmenovaný blok příkazů.Vytváří se pomocí příkazu 'function' nebo 'export function' aby bylo možné funkci volat ze všech modulů.

function mojeFunkce;
begin
  // Sem přijde kód
end;

nebo

function mojeFunkce();
begin
  // Sem přijde kód
end;

Z výše uvedeného přikladu je patrné, že závorky v hlavičce funckce nejsou povinné a je běžnou praxí je vynechávat.

Proměnné ve funkcích

Ve funkcích se dají vytvářet nové proměnné:

function mojeFunkce;
var mojePromenna;
begin
  mojePromenna:=256; // Proměnné se ve funkcích používají běžným způsobem
  // sem přijde kód
end;

Proměnné vytvořené uvnitř funkcí zanikají po dokončení běhu funkce a není možné je využívat mimo funkce.Proměnné vytvořené mimo funkce jsou použitelné i uvnitř funkcí.

function mojeFunkce;
var mojePromennaZFunkce;
begin
  mojePromennaZFunkce:=256;
end;
...
mojePromennaZFunkce:=110; // Chyba, proměnné jsou přístupné pouze z funkce ve které byly vytvořeny.

Funkce s parametry

Parametr je hodnota, která se předá funkci. V SAILu se proměnné v parametru předávají odkazem, to znamená že při změně proměnné ve funkci bude změněna i původní proměnná.

var x, y;
...
export function prohozeni(parametr1, parametr2);
var pomoc;
begin
  pomoc:=parametr1;
  parametr1:=parametr2;
  parametr2:=pomoc;
end;
...
x:=10;
y:=20;
prohozeni(x, y);

Funkce v příkladu prohodí obsah proměnných. V proměnné 'x' je nyní uložena hodnota 20 a v proměnné 'y' je hodnota 10. Díky příkazu 'export' se dá funkce zavolat ze všech modulů.

Příklad funkce s parametrem

export function Zabij(jednotka);
begin
  SetLives(jednotka, 0);
end;

Pak stačí někde v kódu napsat:

Zabij(nejakyVojak);

Jednotka 'nejakyVojak' bude zabita. Na příkladu je vidět, že funkce SetLives přijímá 2 parametry(jednotku a počet životů).

Funkce s návratovou hodnotou

Funkce může mít návratovou hodnotu.Funkce s návratovou hodnotou se dají používat částečně jako proměnné(nelze je měnit, ale lze číst jejich hodnotu). Více prozradí následující příklad.

var cislo;
...
function soucet(x, y);
begin
  result:=x+y; // 'result' se nesmí deklarovat, používá se jako již deklarovaná proměnná.
end;
...
cislo:=soucet(3,4);

V proměnné 'cislo' je teď uložena hodnota 7.

Poznámky

1) Jména funkcí se nesmí shodovat s názvy proměnných
2) Jména funkcí nesmí(stejně jako jména proměnných) začínat číslicí ani matematickými a diakritickými znaménky(+ % $ - . *), ale mohou obsahovat podtržítka.
3) Proměnné vytvořené uvnitř funkcí zanikají po dokončení běhu funkce a není možné je využívat mimo funkce.Proměnné vytvořené mimo funkce jsou použitelné i uvnitř funkcí.

Personal tools
Clanbase