Fonctions
La programmation AppleScript en exemples.

Fonction qui permet d'obtenir une valeur en fonction d'un nom dans un record.
Imaginons qu'on ait un record, c'est-à-dire une liste constituée de couple d'éléments du type nom/valeur. À chaque nom correspond une valeur. Par exemple, on peut écrire :


set le_record to {france:"fr", allemagne:"de", Angleterre:"uk"}
get
france of le_record



Récupérez cet AppleScript ici et exécutez le. Vous obtenez alors "fr" dans la fenêtre de résultat.


Toutefois, on ne peut pas demander à l'utilisateur de saisir un nom de pays et lui renvoyer le code pays en retour. Par exemple, ceci ne marchera pas :

set code_pays to text returned of (display dialog "Code pays" default answer "Allemagne")
set
le_record to {france:"fr", allemagne:"de", Angleterre:"uk"}
get
code_pays of le_record

Ce morceau de code ne fonctionne pas car on cherche à obtenir la valeur de "code_pays" dans le record "le_record" alors qu'aucun nom ne correspond.


Fonction 7 : récupérez l'AppleScript ici.

Le Script :


global
TVA_euro_zone
set
TVA_euro_zone to {|at|:20, be:21, de:16, dk:25, es:16, fi:22, fr:12.6, gr:18, |it|:20, lu:15, nl:12, ie:21, pt:17, se:25, uk:17.5}

on
lecture_valeur(nom, le_record)
set
text_du_script to "
on run {record_local}
get |"
& nom & "| of record_local
end

"
run script text_du_script with parameters {le_record}
end
lecture_valeur

set code_pays to text returned of (display dialog "Code pays" default answer "fr")
code_pays(code_pays, TVA_euro_zone)



Explications :
La fonction "lecture_valeur" prend deux paramètres qui sont "nom" et "le_record" ; c'est-à-dire le nom dont on cherche à connaitre la valeur dans le record "le_record". Ensuite, on crée une variable de type "string" dans laquelle on va stocker le code source d'un script qui obtiendra la valeur correspondant au code pays. Le nom est interprêté lors de la concaténation de la chaîne de caractère. C'est justement cette interprêtation qui manquait précédement puisque le script prenait le nom de la variable et non son contenu.


Astuces :
• on utilise le symbole "|" appelé généralement "pipe" en anglais et qui est également le symbole mathématique de la valeur absolue. Il est obtenu par la combinaison de touches majuscule-Alt-l (comprenez L minuscule). Ce symbole nous permet d'utiliser comme variable un nom réservé par AppleScript, comme par exemple, "at" et "it". On aura donc la prudence d'inclure des "|" avant et après le "nom" dans le script afin de prévoir ces deux cas.
• on peut grâce à cette fonction se servir de record pour stocker des données à l'initialisation et pourvoir les réutiliser plus tard de façon dynamique.