articles/dicorebol-fr/do.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 -

 

Do - Détail de la fonction

Sommaire :

Evalue un bloc, un fichier, une URL, une fonction, un mot, ou n’importe quelle autre valeur.

Usage :

do value

Arguments :

value - Normalement un nom de fichier, une URL ou un bloc.

Raffinements :

/args - Si “value” est un script, ce raffinement initialisera system/script/args pour ce script

arg - Argument passé par un script. Normalement une chaîne de caractères (type: string!)

/next - Exécute uniquement l’expression suivant. Retourne un bloc avec un résultat et une nouvelle position.

Description :

Accepte un bloc, ou charge une chaîne, un fichier, ou une URL dans un bloc, puis évalue les expressions du bloc. Fichiers et URLs doivent avoir une entête REBOL. Les éléments sont évalués de gauche à droite. Quand l’élément qui est trouvé est une fonction requièrant des arguments, les arguments de cette fonction sont évalués en premier puis passés à cette fonction avant que la fonction soit évaluée. La valeur finale est retournée.

Le raffinement /ARGS vous permet de passer des arguments à un autre script et est utilisé avec un fichier ou une URL. Les arguments passés avec /ARGS sont enregistrés dans la variable system/script/args à l’intérrieur du contexte chargé pour ce script.

Le raffinement /NEXT retourne un bloc composé de deux éléments. Le premier élément est le retour évalué de la première expression trouvée. Le second élément est le bloc original avec l’index courant placé après la dernière expression évaluée.

    print do [1 + 2]
    3
    print do "1 + 2"
    3
    do "repeat n 3 [print n]"
    1
    2
    3
    do [print "doing"]
    doing
    blk: [
        [print "test"]
        [loop 3 [print "loop"]]
    ]
    do second blk
    loop
    loop
    loop
    do first blk
    test
    blk: [
        [1 + 2]
        [3 * 4]
        [6 / 3]
    ]
    while [not empty? blk][
        set [value blk] do/next blk
        print value
    ]
    3
    12
    2

En relation :

load - Charge un fichier, une URL, ou une chaîne de caractères (type: string!). Attache un mot à un contexte global.

loop - Evalue un bloc un nombre spécifié de fois.

reduce - Evalue une expression ou bloc d’expressions et retourne le résultat.

repeat - Evalue un bloc un nombre de fois ou sur une série.

Version anglaise officielle :

 
  articles/dicorebol-fr/do.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