Fonction récursive qui permet de supprimer le n-ième élément d'une liste. Imaginons qu'on ait une liste et qu'on veuille traiter les élements un à un. Il faudra supprimer chaque élément traité pour ne pas le traiter deux fois.
Fonction 7 :
Récupérez cet AppleScript ici et exécutez le en sélectionnant l'onglet "Event log". Vous obtenez alors deux listes : celle d'origine et celle sans le 3e élément.
on suppression(liste,nbr)
if (nbr> length of liste) or (nbr<1) then return liste
if nbr>1 then
set resultat to ((beginning of liste) as list) & suppression(rest of liste,nbr- 1)
else
return rest of liste
end if
end suppression
set ma_liste to {"a", "b", "c", "d", "e"}
log ma_liste
set ma_liste to suppression(ma_liste,3)
log ma_liste
Explications : La fonction "suppression" prend deux paramètres qui sont "liste" et "nbr" ; c'est-à-dire la liste dont on cherche à supprimer le n-ième élément. Ce n-ième élément est défini par "nbr". La fonction va mettre de côté tous les éléments avant le n-ième, elle va supprimer le n-ième élément puis elle va renvoyer la liste finale en recollant les éléments mis de côté avec ceux situer après le n-ième.