"Return" c'est quoi?
mmeeddoo
Messages postés
7
Statut
Membre
-
mmeeddoo Messages postés 7 Statut Membre -
mmeeddoo Messages postés 7 Statut Membre -
Salut!
Je suis débutant dans la programmation, je rame un max!
Je fais des exercices sur Codecademy (Ruby, HTML, Java...). Je comprend petit à petit et j'arrive à assimiler ce qu'on m'explique, les différents termes et leurs fonctions dans le code.
Mais il y a ce foutu "return"! C'est simple, je ne comprend absolument pas ce que c'est, ce qui fait et pourquoi! Il retourne ok mais quoi? Qu'est ce qu'il retourne et pourquoi? Ca semble pourtant simple pour tout le monde, mais moi là je bloque complet!
Si l'un d'entre vous pouvait essayer de me faire comprendre ce qu'est "return", le plus simplement du monde (si c'est possible! ^^) j'en serais très reconnaissant! :)
J'insiste sur le fait que je m'y connais autant en programmation que le pape en skateboard! ^^
Je suis débutant dans la programmation, je rame un max!
Je fais des exercices sur Codecademy (Ruby, HTML, Java...). Je comprend petit à petit et j'arrive à assimiler ce qu'on m'explique, les différents termes et leurs fonctions dans le code.
Mais il y a ce foutu "return"! C'est simple, je ne comprend absolument pas ce que c'est, ce qui fait et pourquoi! Il retourne ok mais quoi? Qu'est ce qu'il retourne et pourquoi? Ca semble pourtant simple pour tout le monde, mais moi là je bloque complet!
Si l'un d'entre vous pouvait essayer de me faire comprendre ce qu'est "return", le plus simplement du monde (si c'est possible! ^^) j'en serais très reconnaissant! :)
J'insiste sur le fait que je m'y connais autant en programmation que le pape en skateboard! ^^
2 réponses
-
Bonjour,
Une fonction peut avoir des paramètre et donner un résultat.
Par exemple :
int somme(int x, int y) { return x+y; }(int x, int y)
sont les paramètres,x+y
est le résultat (de typeint
), c'est ce que l'on retourne comme résultat.
Ainsi, on peut ensuite faires = somme(1,2);
avec 1 et 2 les valeurs associées àx
ety
, la fonction va retourner un résultat (3 ici) que l'on donne às
.-
Avant tout merci de me répondre c'est cool! :)
Je crois comprendre.
Mais alors je vais poser la question autrement:
Pour rester dans ton exemple. Pourquoi utiliser return et pas console.log ou puts? Je ne comprend pas les différences entre ces termes en faite. Et donc pourquoi utiliser return et pas un autre.puts
etconsole.log
font tous les deux des affichages, c'est à dire écrire un résultat textuel destiné à être lu par un humain (ce qui est assez peu fréquent dans un monde où l'interface graphique est bien plus utilisée que les lignes de commandes).
return
est une instruction pour construire une fonction, et donc découper le code de manière cohérente. Leur but est donc de prendre des paramètres et donner un résultat qui sera ensuite réutilisé par le reste du programme. Si on faisait juste un affichage on ne pourrait pas combiner des résultats intermédiaires.
Exemple (bidon). Si tu faisais juste des affichages dans la fonctionsomme
, sans renvoyer de résultat, tu ne pourrais pas faire ce genre de code :
a = somme(1, 2); b = somme(3, 4); c = somme(a, b);
En effet, si tu ne renvoies jamais de résultat,a
etb
n'auront aucune valeur puisque la fonctionsomme
l'aura juste affiché. Alors certes tu auras un affichage de 3 et 7 qui sont les calculs intermédiaires, mais tu seras incapables de calculerc
...
-
-
Ok ok je vois!
Alors petite question supplémentaire au passage si tu le veux bien! :)
Quel est la différence entre puts et console.log si tous les deux affichent le résultat?
Je me suis déjà plusieurs fois posé la question car dans les exercices de Codecademy, ils demandent d'utiliser l'un et des fois l'autre. Sans jamais nous dire pourquoi!-
Le return (parfois nommé autrement) existe dans la totalité des langages qui permettent de construire des fonctions. En soit il ne fait rien, c'est juste une manière d'écrire le renvoi du résultat.
console.log et puts en revanche sont des fonctionnalités d'affichages spécifiques à quelques langages de programmation et les différences entre les deux dépendront de quel langage on parle... -
-
-