Atgriešanās paziņojums



atgriešanās paziņojums

Programmēšanā atgriešanās ir paziņojums, kas liek programmai pamest apakšprogrammu un atgriezties pie atgriešanās adreses. Atgriešanās adrese atrodas vietā, kur tika izsaukta apakšprogramma. Vairumā programmēšanas valodu atgriešanās paziņojums ir vai nu atgriešanās vai atgriešanās vērtība , kur vērtība ir mainīgais vai cita informācija, kas nāk no apakšprogrammas. Zemāk ir sniegts piemērs tam, kā atgriešanās paziņojumu varētu izmantot Perl programmēšanas valoda.



my $rsexample = 1; print 'Example of a return statement.
'; &rsexample; print 'Value now equals: $rsexample
'; sub rsexample { $rsexample++; return $rsexample; }

Iepriekš minētajā piemērā rsexample mainīgais vispirms tiek iestatīts kā vienāds ar 1. Pēc tam, kad tiek izsaukts apakšparauga rsexample, vērtība tiek palielināta par 1. Kad programma atgriežas atgriešanās adresē, programma izdrukā Vērtība tagad ir vienāda: 2 . Atšķirībā no dažiem citiem programmēšanas valodas , ja Perlam apakšprogrammā nav atgriešanās paziņojuma, tas atgriež paziņojumu pēdējo vērtību. Iepriekš minētajā piemērā kods joprojām darbosies tāpat, pat ja atgriešanās paziņojums nebūtu apakšprogrammā.

Piemērā JavaScript zemāk funkcija atgriežas pie koda, kas to izsauca, ja nosūtītais skaitlis ir mazāks par vienu.



function a (num) { if (num <1) { return; } else { document.write('The number is' + num + '  
); } } a(0); document.write('I like numbers greater than 0');

Šajā gadījumā funkcijai nosūtītais skaitlis ir 0. Tātad funkcija pēc funkcijas izsaukuma atgriežas kodā un uzraksta tekstu 'Man patīk skaitļi, kas lielāki par 0.' Ja skaitlis būtu 1, tad vispirms tiktu uzrakstīts teksts “Skaitlis ir 1” un zem tā - “Man patīk skaitļi, kas lielāki par 0”.

Ja programmēšanas valoda atgriešanas paziņojumam ļauj nosūtīt vērtību atpakaļ, šo vērtību var izmantot kodā, kas izsauca funkciju. Zemāk redzamais kods (atkal izmantojot JavaScript) parāda piemēru, kā tas tiek darīts.



function a (num) { if (num <1) { return false; } else { return true; } }  
var x = a(0);
if (x === true) { document.write('The number is greater than 0'); } else { document.write('The number is not greater than 0'); }

Šajā gadījumā funkcijas rezultāts (atgriešanās vērtība) tiek piešķirts mainīgajam x. Funkcija atgriež vērtību true, ja tai nosūtītais skaitlis ir lielāks par vienu, un citādi atgriež vērtību false. Tā kā funkcijai šajā gadījumā nosūtītā vērtība ir 0, funkcija atgriežas kā nepatiesa. Funkcija turpina vērtēt nosacīto paziņojumu, kas lapā raksta 'Skaitlis nav lielāks par 0', jo mainīgajam x atgrieztā vērtība ir nepatiesa.