GraphClick
iLocalize
Unite
Barbouillon
xFractal
ProVoc
XS
AudioXplorer

Archives
Developpeurs

Online-Store
Support
home

Fonctions de transformation

Les fonctions de transformation sont des fonctions d'énumération particulières. Elles permettent de transformer des données afin de les regrouper sous une forme plus lisible.

Tri

sort:array
sort:array by:expression

Trie le tableau array (selon expression le cas échéant).

Exemples

>> fruits = {"pomme", "poire", "fraise", "myrtille", "pêche", "orange", "mirabelle", "framboise", "mûre"}

Trie fruits alphabétiquement:

>> sort:fruits
>> fruits
{
    fraise
    framboise
    mirabelle
    myrtille
    mûre
    orange
    poire
    pomme
    pêche
}

Trie fruits en fonction de la deuxième lettre de chaque mot:

>> sort:fruits by:this[2]
>> fruits
{
    pêche
    mirabelle
    pomme
    poire
    fraise
    framboise
    orange
    mûre
    myrtille
}

Regroupement

group:collection by:expression

Retourne un tableau en subdivisant collection selon la valeur retournée par expression.

Exemple

>> group:fruits by:this[1]
{
    Array (1 elem.)
    Array (3 elem.)
    Array (3 elem.)
    Array (2 elem.)
}

Retourne quatre tableaux contenant les mots regroupés selon leur première lettre. Pour afficher tout le résultat:

>> longDescriptionOf:ans
{
    {
        orange
    }
    {
        pêche
        pomme
        poire
    }
    {
        mirabelle
        mûre
        myrtille
    }
    {
        fraise
        framboise
    }
}

summarize:collection by:expression

Retourne un dictionnaire contenant les éléments de collection regrouppés selon expression.

Exemple

>> summarize:fruits by:this[1]
[
 f =
    Array (2 elem.)
 m =
    Array (3 elem.)
 o =
    Array (1 elem.)
 p =
    Array (3 elem.)
]
>> longDescriptionOf:ans
[
 f =
    {
        fraise
        framboise
    }
 m =
    {
        mirabelle
        mûre
        myrtille
    }
 o =
    {
        orange
    }
 p =
    {
        pêche
        pomme
        poire
    }
]

Arbre hiérarchique

treeFrom:collection branch:expression

Retourne un arbre hiérarchique en concaténant les branches retournées par expression.

Lors de la concaténation, les tableaux et dictionnaires sont fusionnés, les nombres additionnés, et les valeurs multiples sont regroupées dans des tableaux.

Exemple

Le but de cet exemple est d'indiquer, pour chaque lettre initiale, les noms de fruits ainsi que leur nombre.

Pour un fruit, une branche est définie par la fiche comme suit:

function Fiche:fruit
lettre = fruit[1]    // Première lettre
return [lettre ["Fruit(s)" fruit, ...
                "Nombre" 1]]

Ainsi, la fiche correspondant p.ex. à "abricot" est:

>> longDescriptionOf:Fiche:"abricot"
[
 a =
    [
     Fruit(s) =
        abricot
     Nombre =
        1
    ]
]

L'arbre correspondant à l'ensemble des fruits définis ci-dessus s'obtient tout simplement comme suit:

>> arbre = treeFrom:fruits branch:Fiche:this
>> longDescriptionOf:arbre
[
 f =
    [
     Fruit(s) =
        {
            fraise
            framboise
        }
     Nombre =
        2
    ]
 m =
    [
     Fruit(s) =
        {
            mirabelle
            mûre
            myrtille
        }
     Nombre =
        3
    ]
 o =
    [
     Fruit(s) =
        orange
     Nombre =
        1
    ]
 p =
    [
     Fruit(s) =
        {
            pêche
            pomme
            poire
        }
     Nombre =
        3
    ]
]

Section suivante