articles/dicorebol-fr/func.txt · Dernière modification: 07/05/2005 00:20

EN: rebol.com - rebol.org - rebol.net -
FR: Rebol Documentation Project - forum RebelBB - rebol-france.org - forum codeur -

 

Func - Détail de la fonction

En résumé :

Définit une fonction utilisateur avec des spécifications et un corps.

Utilisation :

 func spec body

Arguments :

spec - Texte d’aide (optionnel) suivi par les mots arguments (et les types et texte d’aide optionnel) (type: block!)

body - L’argument du corps de la fonction.(type: block!)

Description :

Le bloc spec spécifie l’interface d’une fonction. Il peut commencer avec un texte d’aide optionnel qui sera affiché quand on utilise la fonction HELP. Ce texte est suivi par les mots qui spécifient les arguments de la fonction. Chacun de ces mots peut être inclu dans un bloc optionel de type de données. Ceci spécifie un type de données valide pour l’argument. Celui-ci peut être suivi par un texte qui décrit l’argument plus en détail.

L’argument words peut aussi spécifier quelques variations sur le manière dont l’argument sera évalué. Le plus commun est ‘word qui indique qu’un mot est attendu qu’il doit être évalué (la fonction a besoin de son nom, pas de sa valeur). Un :word peut aussi être donné lequel aura la valeur de l’argument, mais ne procèdera pas à l’évaluation complète.

Pour ajouter des raffinements pour une fonction fournir un slash (/) devant un argument de mot. A l’intérieur de la fonction l’existence du raffinement peut être testé. Si le raffinement est suivi par un ou plusieurs arguments, ils seront associés avec ce raffinement et ne sont évalués que lorsque le raffinement est présent.

La variable locale est spécifiée après un raffinement /LOCAL.

Une fonction retourne la dernière expression qu’elle a évaluée. Vous pouvez aussi utiliser RETURN et EXIT pour sortir de la fonction. RETURN donne une valeur en retour. EXIT ne retourne aucune valeur.

    sum: func [a b] [a + b]
    print sum 123 321
    444
    sum: func [nums [block!] /average /local total] [
        total: 0
        foreach num nums [total: total + num]
        either average [total / (length? nums)][total]
    ]
    print sum [123 321 456 800]
    print sum/average [123 321 456 800]
    1700
    425
    print-word: func ['word] [print form word]
    print-word testing
    testing

Fonctions en relation :

does - Un raccourci pour définir une fonction qui n’a pas d’argument ni de variable locale.

exit - Sort d’une fonction, ne retourne aucune valeur.

function - Définit une fonction utilisateur avec des variables locales.

function? - Retourne TRUE pour une valeur fonction.

has - Un raccourci pour définir une fonction qui a des variables locales mais aucun argument.

make - Construit et retourne une nouvelle valeur.

return - Retourne une valeur depuis une fonction.

use - Définit un mot local pour un bloc.

Version anglaise officielle :

 
  articles/dicorebol-fr/func.txt · Dernière modification: 07/05/2005 00:20
 
Fil RSS: Recent changes RSS feed
Valid XHTML 1.0 Valid CSS Powered by PHP Driven by DokuWiki
Hébergement par Spinodo