gentlefred a écrit :
Merci, j'ai saisi le principe... ma confusion venait du fait que "procedure" n'existe pas en C++.
|
Arf, ok.. Je pensé avoir affaire au pur débutant.
Alors pour rentré dans les détail:
Dans une fonction, une variable nommé "result" est implicitement déclaré. Ainsi, tu peut indiféremment écrire:
Function MaFonction : string; //la valeur renvoyé par la fonction sera "hello World"
begin
MaFonction := 'Hello World";
end; |
ou
Function MaFonction : string; //la valeur renvoyé par la fonction sera "hello World"
begin
Result := 'Hello World;
end; |
Attention, "result" et le nom de la fonction ne sont interchangeables qu'a gauche de l'affectation. Ca évite de créer une varible temporaire quant tu veut te servir d'une valeur intermédiaire dans ton code.
Function MaFonction : string;
REsult = 1;
if result =1 then
result := result +1; //result = 2 MaFonction := MaFonction +1; //appel récursif (et dans ce cas sans fin) de la fonction
end; |
Je sais plus trop comment ça se passe en C, mais en pascal, le fait d'affecter une valeur à la fonction (que ce soit "normalement" ou par "result" ) ne fait pas sortir de la fonction.
Et Evidement, comme en C, on peut appeler une fonction sans récupérer son résultat.
Message édité par el zozo le 02-08-2006 à 09:47:35