Applescript: genera un nuovo elenco basato sull'elenco esistente

3

il mio script sta generando un elenco (numero casuale di elementi) e per ogni elemento mi piace aggiungere un colore.

Posso farlo manualmente:

> set myList to {{"demo", "#5cdf64"}, {"icloud.com", "#FFFF00"}, {"more
> random e.g", "#FF0000"}}

ma come posso aggiungere automaticamente un colore diverso all'elenco e in base al numero di elementi nel primo elenco?

So come contare l'elenco principale e fare un'azione per ogni elemento:

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
    -- Process the current list item

end repeat

Penso di esserci quasi l'unica cosa è che non sto aggiungendo ma sostituendo gli elementi:

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

ha anche provato

copy {item a of theList, item a of ColortheList} to myNewList
    
posta Kevin 14.12.2018 - 11:13
fonte

1 risposta

1

Se desideri myNewList per restituire un elenco di elenchi, penso che tu stia cercando di fare:

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
    copy ({item a of theList, item a of ColortheList}) to the end of the |myNewList|
end repeat

return myNewList

Un po 'di divertimento con random number . È possibile modificare la selezione del colore e quindi aggiungerla casualmente a un elenco:

set theList to {"Demo", "ok", "blabla", "demo2", "foobar"}

set colorList to {"5cdf64", "FFFF00"}
set colorLength to length of colorList

set myNewList to {}

repeat with a from 1 to length of theList
    set colorPick to random number from 1 to colorLength
    copy ({item a of theList, item colorPick of colorList}) to the end of the |myNewList|
end repeat

return myNewList

Se desideri un approccio con le stringhe, prova:

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 result to ({item a of theList, item a of ColortheList})
    set myNewList to myNewList & (result & " ")
end repeat

Quanto sopra può essere modificato in result . Fammi sapere se ti capisco o se hai bisogno di qualcosa di diverso.

    
risposta data 14.12.2018 - 15:10
fonte

Leggi altre domande sui tag