GraphClick
iLocalize
Unite
Barbouillon
xFractal
ProVoc
XS
AudioXplorer

Archives
Developpeurs

Online-Store
Support
home

Fonctions d'énumeration

XS offre une série de fonctions permettant de manipuler simplement des collections (variables de type tableau ou dictionnaire). Ces fonctions permettent d'effectuer en une seule ligne des opérations qui nécessiteraient sinon plusieurs lignes de code.

Typiquement, une fonction d'énumération, comme son nom l'indique, énumère les éléments d'une collection, évalue une expression donnée par l'utilisateur et effectue une opération particulière à partir du résultat de l'expression. Cette expression utilisera le mot-clé this pour se référer à l'élément énuméré. (Lorsque la collection est un dictionnaire, le mot-clé thisKey peut également être utilisé pour se référer à la clé énumérée.)

Dans les exemples suivants, les variables a et d sont définies comme suit:

a = {2, 3, 5, 7, 11}

 

d = ["prénom" = "simon",

     "père" = "eric",

     "mère" = "denise",

     "frère" = "jean",

     "amie" = "anne"]

elementsOf:collection satisfying:expression

Retourne les éléments de collection pour lesquels expression retourne vrai.

Exemples

>> elementsOf:a satisfying:this > 4

{

    5

    7

    11

}

 

>> elementsOf:d satisfying:this ~ "*n"

[

 frère =

    jean

 prénom =

    simon

]

 

>> elementsOf:d satisfying:thisKey @ "ère"

[

 frère =

    jean

 mère =

    denise

 père =

    eric

]

replaceElementsIn:collection with:expression
copyByReplacingElementsIn:collection with:expression

Remplace (ou copie en remplaçant) les éléments de collection avec les résultats de expression.

Exemples

>> copyByReplacingElementsIn:a with:2 * this

{

     4

     6

     10

     14

     22

}

 

>> copyByReplacingElementsIn:d with:capitalize:this

[

 amie =

     Anne

 frère =

     Jean

 mère =

     Denise

 père =

     Eric

 prénom =

     Simon

]

withEachElementOf:collection do:expression

Exécute expression pour chaque élément de collection.

Exemples

>> withEachElementOf:a do:write:"n = ", this
n = 2
n = 3
n = 5
n = 7
n = 11
 

>> withEachElementOf:d do:write:thisKey, " : ", this
frère : jean
père : eric
mère : denise
prénom : simon
amie : anne

Section suivante