Syntaxe
Paramètres
| Nom |
Description |
| numérodeligne |
Ce paramètre optionnel permet d'indiquer le numéro de ligne où le retour du sous-programme s'effectuera |
Description
Cette commande permet d'effectuer un retour de GOSUB
Remarques
- La commande RETURN est utilisée pour revenir au point d'appel après un GOSUB, ce qui permet de
poursuivre l'exécution du programme là où le sous-programme a été invoqué. Elle est essentielle au bon fonctionnement des appels de sous-programmes. Sans
RETURN, le programme continuerait à exécuter les lignes suivantes du sous-programme, ce qui pourrait entraîner des erreurs.
- Dans sa forme la plus simple, RETURN ne prend aucun paramètre, et le langage BASIC se charge automatiquement de revenir
à l'instruction qui suit le dernier GOSUB. Cela repose sur une pile d'appels interne très rudimentaire, ce qui implique que les RETURN doivent toujours
être correctement appariés avec leurs GOSUB.
- Il existe une forme plus rare avec RETURN numérodeligne, forçant un saut vers une ligne spécifique, bien que cette fonctionnalité soit peu utilisée dans
la pratique. Cette option détourne légèrement l'usage prévu de RETURN en l'utilisant presque comme un GOTO, ce qui peut rendre le code plus confus et difficile à suivre.
- L'omission d'un RETURN après un GOSUB peut entraîner des erreurs graves, comme l'exécution involontaire d'autres sous-programmes ou une rupture de la logique du
programme. Cela peut également saturer la pile d'appels si plusieurs GOSUB sont appelés sans RETURN, ce qui provoque des plantages.
- Dans BASIC, les sous-programmes n'étant pas des blocs bien délimités, RETURN sert de marqueur de fin implicite, contrairement à des langages modernes
utilisant end ou des accolades. Le programmeur doit donc structurer manuellement ses blocs logiques, ce qui peut facilement mener à des oublis ou des confusions
si le code devient trop long.
- L'utilisation correcte de RETURN améliore la modularité du code, en permettant de séparer certaines tâches répétitives dans des sous-programmes. Bien que
cette modularité soit limitée (pas de paramètres, pas de retour de valeur), cela reste une avancée par rapport à l'enchaînement pur de lignes.
- La commande RETURN ne vérifie pas si un GOSUB a réellement été exécuté avant, donc l'appeler de manière isolée sans contexte peut provoquer un
comportement imprévisible. Cela souligne l'importance d'une discipline stricte dans la structure du code BASIC.
- RETURN dans BASIC illustre bien la gestion simple de la pile d'appels dans les premiers langages, avec des possibilités limitées mais une logique
claire : appel → exécution → retour. Cela a jeté les bases des appels de fonction dans les langages structurés, tout en imposant une rigueur au développeur
pour éviter les erreurs de logique.
Dernière mise à jour : Vendredi, le 21 Juillet 2023