« Programmation LSE » : différence entre les versions
Contenu supprimé Contenu ajouté
Aucun résumé des modifications |
Aucun résumé des modifications |
||
Ligne 400 :
'''PROCEDURE &'''<identificateur>(<liste de params> ) [<type>][ '''LOCAL''' <params locaux>] (LSE2000)<br/>
<blockquote>Un paramètre peut être passé par référence, par valeur ou par descripteur. Le paramètre formel est passé par valeur si il figure dans la liste suivant le mot-clef LOCAL comme dans les versions précédentes de LSE. Mais il est aussi possible de déclarer un paramètre comme local en lui ajoutant # en préfixe. Sinon par défaut les paramètres sont passés par référence.<br><br>On sort d'une procédure en invoquant '''RETOUR''' ou encore '''RESULTAT''' si cette dernière doit retourner une valeur. La valeur de retour est établie selon la syntaxe: '''RESULTAT''' <expression>. Le type de la valeur de retour est spécifié à la suite des paramètres dans la déclaration de la procédure.
'''PROCEDURE''' &sontEgaux('''ENTIER''' A, '''ENTIER''' B, '''ENTIER''' C) '''BOOLEEN LOCAL''' A,B
C←A-B
'''RESULTAT''' A=B
'''FIN'''
Ou en utilisant la notation # pour les paramêtres locaux (LSE2000)
'''PROCEDURE''' &sontEgaux('''ENTIER''' #A, '''ENTIER''' #B, '''ENTIER''' C) BOOLEEN
C←A-B
'''FIN'''
</blockquote>
=== Invocation ===
Pour invoquer une procédure on précède son identificateur par & comme dans l'exemple suivant.
<blockquote><code>unRésultat ← &MaProcédure(unParam, etUnAutre)</code></blockquote>
=== Variable ===
Comme indiqué dans le
La distinction entre une variable et un procédure se fait par le fait que le nom de la variable est précédée par un arobase (@) tandis que dans le cas d'une déclaration le nom de la procédure est précédée par une
<blockquote><code>&MaVariableProcédure</code></blockquote>
Ligne 428 ⟶ 430 :
Voici un exemple d'utilisation d'une variable de type PROCEDURE:
<blockquote>
* DECLARATION VARIABLE ET PROCEDURE
AFFICHER[4X,'RESULTAT = ',U,/] &VARPROC( 255 )</code></blockquote>▼
PROCEDURE @VARPROC(ENTIER PARAM):NOMBRE LOCAL PARAM
PROCEDURE &PROCVAR(ENTIER PARAM):NOMBRE LOCAL PARAM
RESULTAT .PI. * PARAM<br>FIN<br><br>* ASSIGNATION
VARPROC ← PROCVAR
* INVOCATION<br>AFFICHER[/,'APPEL PAR LA VARIABLE TYPE PROCEDURE',/]
</blockquote>
/!\ Attention il faut préalablement assigner la variable avant d'invoquer celle-ci!
|