4 votes

Applescript : générer une nouvelle liste basée sur une liste existante

Mon script génère une liste (nombre aléatoire d'éléments) et pour chaque élément j'aimerais ajouter une couleur.

Je peux le faire manuellement :

> set myList to {{"demo", "#5cdf64"}, {"icloud.com", "#FFFF00"}, {"plus
> aléatoire e.g", "#FF0000"}}

mais comment puis-je ajouter automatiquement une couleur différente à la liste en fonction du nombre d'éléments présents dans la première liste ?

Je sais comment compter la liste principale et effectuer une action pour chaque élément :

set listSize to count of myList

set theList to {"demo", "demo1", "demo2", "demo2"}
repeat with a from 1 to length of theList
    set theCurrentListItem to item a of theList
    -- Traiter l'élément de liste actuel

end repeat

Je pense que j'y suis presque, la seule chose est que je ne suis pas en train d'ajouter mais de remplacer les éléments :

set theList to {"Demo", "ok", "blabla", "demo2"}
set ColortheList to {"5cdf64", "FFFF00", "FF0080", "FF1000"}
set myNewList to ""

repeat with a from 1 to length of theList
    set theCurrentListItem to item a of theList
    set myNewList to {item a of theList, item a of ColortheList}

end repeat

j'ai également essayé

copy {item a of theList, item a of ColortheList} to myNewList

0 votes

Je suis un peu confus sur votre choix de couleur. Voulez-vous la couleur suivante dans la liste ou voulez-vous sélectionner une couleur au hasard? Souhaitez-vous également ajouter une ou plusieurs couleurs au hasard?

0 votes

Désolé, j'ai une liste de mots-clés et je veux ajouter des couleurs différentes pour chacun d'eux. mais je peux créer la liste de couleurs déjà et les ajouter pour chaque mot-clé de ma première liste

0 votes

Donnez-moi une seconde pour terminer cette réponse et dites-moi si je vous comprends correctement.

2voto

ʀ2ᴅ2 Points 996

Si vous voulez que myNewList retourne une liste de listes, je pense que vous essayez de faire :

définir theList en {"Demo", "ok", "blabla", "demo2"}
définir ColortheList en {"5cdf64", "FFFF00", "FF0080", "FF1000"}
définir myNewList en {}

répéter avec a de 1 à longueur de theList
    copier ({élément a de theList, élément a de ColortheList}) à la fin de |myNewList|
    fin répéter

retourner myNewList

Un peu de fun avec les nombres aléatoires. Vous pouvez modifier la sélection de couleurs et ensuite ajouter aléatoirement à une liste :

définir theList en {"Demo", "ok", "blabla", "demo2", "foobar"}

définir colorList en {"5cdf64", "FFFF00"}
définir colorLength en longueur de colorList

définir myNewList en {}

répéter avec a de 1 à longueur de theList
    définir colorPick en nombre aléatoire de 1 à colorLength
    copier ({élément a de theList, élément colorPick de colorList}) à la fin de |myNewList|
    fin répéter

retourner myNewList

Si vous préférez une approche basée sur une chaîne de caractères, essayez :

définir theList en {"Demo", "ok", "blabla", "demo2"}
définir ColortheList en {"5cdf64", "FFFF00", "FF0080", "FF1000"}
définir myNewList en ""

répéter avec a de 1 à longueur de theList
    définir résultat en ({élément a de theList, élément a de ColortheList})
    définir myNewList en myNewList & (résultat & " ")
    fin répéter

Le code ci-dessus peut être modifié dans le résultat. Faites-moi savoir si je vous comprends bien ou si vous avez besoin de quelque chose de différent.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X