
EN: rebol.com -
rebol.org -
rebol.net -
FR: Rebol Documentation Project -
forum RebelBB -
rebol-france.org -
forum codeur -
Evalue un bloc d’expressions, evaluant seulement les expressions entre parenthéses, et retourne un bloc.
compose valeur
valeur - Bloc à composer
/deep - Compose des blocs enchassés
/only - Insère un argument de type [block!] en tant que bloc.
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]]]
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.