Return (programování)

Return je v programování název příkazu (obvykle klíčové slovo), který provádí návrat z podprogramu. V OOP se podprogramům obvykle říká metody. Podprogramy, které nevrací hodnotu, se obvykle nazývají procedury, podprogramy, které hodnotu vrací, se nazývají funkce. Ve většině jazyků musí provádění funkce skončit provedením příkazu return, který specifikuje návratovou hodnotu (u některých jazyků se jako návratová hodnota použije výsledek posledního příkazu provedeného ve funkci). Provádění procedury může kromě provedení příkazu return končit provedením posledního příkazu v proceduře. Po návratu pokračuje vykonávání programu v místě, odkud byl podprogram vyvolán (v případě procedury následujícím příkazem, v případě funkce vyhodnocováním výrazu, z něhož byla funkce vyvolána).

Příklad

V programovacím jazyku Java je příkaz return value; (kde value je hodnota, objekt nebo datový typ) používán v metodách. Nemá-li metoda vracet hodnotu, musí být deklarována jako void, a příkazy return v ní použité nesmí uvádět hodnotu. Provedením příkazu return je vykonávání podprogramu ukončeno a řízení je předáno do kódu, který metodu vyvolal.

public static int minimumFce(int n1, int n2) {
       int min;
       if (n1 > n2)
          min = n2;
       else
          min = n1;
 
       return min; 
}

Metoda minimumFce vrací hodnotu typu Integer. Metoda může být vyvolána například pro inicializaci proměnné při její deklaraci: int MIN = minimumFce(3,4);. Tím se deklaruje proměnná MIN typu Integer a přiřadí se jí hodnota vrácená metodou minimumFce, která porovná hodnoty parametrů n1 a n2, v tomto případě n1 = 3 a n2 = 4. Do lokální proměnné int min; je uložena menší z hodnot parametrů; příkaz return min; způsobí návrat z metody a předání výsledku. Do MIN se tedy uloží 3.

Syntaxe

Detaily použití příkazu return se mohou v různých jazycích lišit, v tabulce jsou uvedeny příklady:

Programovací

jazyk

Zápis
Ada, Bash, C, C++, Java, PHP, C#, JavaScript, D
return value;
BASIC
RETURN
Lisp
(return value)
Perl, Ruby
return @values;
return $value;
return;
Python
return value
Smalltalk
^ value
Visual Basic .NET
Return value
PowerShell
return value;
Různé jazyky symbolických adres (JSA)
ret

V některých JSA se příkaz jmenuje RTS (ReTurn from Subroutine). V některých JSA nemá parametr příkazu return význam návratové hodnoty (ta bývá uložena v registrech), ale počtu bytů, slov, parametrů, apod., které se mají při návratu z procedury odstranit ze zásobníku.

Odkazy

Související články