homerisorseGuideAppleScriptGuideLe basi

english

Le basi di AppleScript e della sua sintassi
AppleScript è un linguaggio di scripting che può essere usato come una "colla" tra il sistema operativo e le applicazioni.
Apple lo descrive come un tool per automatizzare task ripetitivi, ma in effetti AppleScript è molto più di questo: un linguaggio object oriented che interagisce con tutti gli oggetti (ed i metodi) che il Sistema e le Applicazioni mettono a disposizione.

Qui sono riassunti i concetti base di AppleScript.
Questa non è una guida ufficiale o una reference: AppleScript è troppo complesso ed ha troppi campi applicativi per avere la pretesa di farlo in poche pagine.

Come partire

Per poter partire con AppleScript dobbiamo utilizzare lo Script Editor, che si trova in /Applicazioni/AppleScript/Script Editor.

Come partire

"on" - gli eventi (ed i commenti)

Qualunque cosa accade con AppleScript è in risposta a degli eventi.
L'evento più comune è l'evento "run" che uno script riceve quando viene eseguito, e il codice per intercettarlo è simile a questo:

on run
-- mettere qui il codice
end

"run", come ogni codice che segue "on", viene detto "handle" (letteralmente: "maniglia"), e viene invocato quando lo script viene eseguito.

Il doppio trattino segna un commento di una sola linea, mentre commenti di più linee vengono delimitati con (* ... *)

on run
(*
commento su
più righe
*)
end

Ci sono diversi eventi predefiniti, ed in aggiunta a questi eventi l'utente può definirne di propri, e passare a questi eventi dei parametri:

on run
myEvent("ciao")
end

on myEvent(someText)
display dialog (someText)
end

I basilari eventi built-in

Alcuni dei più comuni eventi di AppleScript:

on run
-- invocato quando lo script viene lanciato
end

on open listVariable
(*
Invocato quando lo script viene aperto con il Drag&Drop.
Il nome della variabile "listVariable" viene deciso dall'utente,
e conterrà una lista di reference agli oggetti draggati.
*)
end

on quit
-- Invocato quando lo script quitta.
-- Dopo aver eseguito comandi, per continuare a quittare usare:
continue quit
end

on idle
(*
Se lo script viene salvato senza uscire al termine,
questo handle viene invocato al termine di "run" o "open".
*)
-- Per far dormire lo script prima del prossimo idle usare:
return 10
-- dove "10" è il numero di secondi di pausa
end

Tipi di dato, "set" e "copy"

AppleScript fornisce alcuni tipi di dato di base disponibili nel codice:

-- integer (numeri interi)
set x to 5

-- real (numeri reali)
set x to 3.57

-- characters (singoli caratteri)
set x to "f"

-- strings (stringhe di testo)
set x to "The Hitch-hicker's Guide To The Galaxy"

-- lists (vettori)
set x to {"foo",2,3.57}

Questo introduce il comando "set", che può essere utilizzato per settare il valore di una variabile.
Un altro modo per impostare il valore di una variabile è il comando "copy":

copy "Hello world" to x

La differenza principale tra i due è che "set" crea una reference (un riferimento), mentre "copy" copia il valore dell'espressione nella variabile indicata.
In caso di valori semplici (come quelli elencati sopra, a parte la list) l'effetto è esattamente lo stesso, ma la differenza diventa sostanziale nel caso di oggetti più complessi.

...

(da continuare)