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

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

 

Compose - Détail de la fonction

En résumé :

Evalue un bloc d’expressions, evaluant seulement les expressions entre parenthéses, et retourne un bloc.

Utilisation :

compose valeur

Arguments :

valeur - Bloc à composer

Raffinements :

/deep - Compose des blocs enchassés

/only - Insère un argument de type [block!] en tant que bloc.

Description :

Construit un bloc de valeurs à partir d’autres blocs de données, en évaluant les expressions entre parenthéses.

    probe compose [result (1 + 2) ok]
    [result 3 ok]

Les élements du bloc fourni comme argument sont répétés dans le bloc résultat, à l’exception des expressions entre parenthèses, qui sont évaluées, et l’évaluation insérée dans le résultat final.

    probe compose [time: (now/time) date: (now/date)]
    [time: 0:59:47 date: 9-Mar-2004]

Si le résultat est lui-même un bloc, alors les élèments de ce bloc sont insérés dans le bloc résultant (de la même façon que pour INSERT ).

    colors: ["red" "green" "blue"]
    probe compose [1 2 3 (colors)]
    [1 2 3 "red" "green" "blue"]

Pour insérer le bloc au lieu de ses élements, placer un autre bloc autour en utilisant la fonction REDUCE, ou utiliser le raffinement /ONLY :

    colors: ["red" "green" "blue"]
    probe compose [1 2 3 (reduce [colors])]
    [1 2 3 ["red" "green" "blue"]]
    colors: ["red" "green" "blue"]
    probe compose/only [1 2 3 (colors)]
    [1 2 3 ["red" "green" "blue"]]

Pour évaluer un sous-bloc avec des parenthèses, utiliser le raffinement /DEEP :

    probe compose/deep [1 [2 [(1 + 2) 4]]]
    [1 [2 [3 4]]]

Fonctions en relation :

build-tag - Génére un tag à partir d’un bloc composé.

insert - Insére une valeur dans une série et retourne le reste de la série après l’insertion.

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

rejoin - Réduit et joint un bloc de valeurs.

Version anglaise officielle :

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