cerere Script Editor
Pentru a afișa o listă care include numai scenarii de aplicare și script-uri suplimentelor oferite de OS X, selectați Fereastră> Bibliotecă. Faceți dublu clic pe elementul din listă pentru a afișa dicționarul său. Figura de mai jos prezintă un dicționar pentru utilizare în Finder OS X 10.8. Dicționar este etichetat ca „Finder.sdef“.
obiecte AppleScript
AppleScript este un limbaj orientat pe obiect. Când scrie, compila și executa script-uri, totul cu care lucrati este un obiect. Un obiect este o instanta a unei definiții de clasă care poate include proprietățile și acțiunile. AppleScript definește clasele de obiecte cu care lucrează de obicei, incepand cu scriptul obiect de nivel superior. care este comună în scenariul în care lucrați.
Script-ul de obiect. lucrați cu alte obiecte, inclusiv:
AppleScript definește clase de valori logice, script-uri, text, numere și alte tipuri de obiecte pentru utilizare în scenariu;
O parte din OS X și aplicațiile care susțin scenariile care vin cu ea, cum ar fi Finder, evenimentele de sistem și baze de date de evenimente (localizat în / System / Library / CoreServices), pentru a defini mai multe clase utile.
aplicații de la terți, cu suport de scripting este definit clase, care susțin o gamă largă de funcții.
Ceea ce este inclus în obiectul script
Când introduceți declarații în fereastra de script AppleScript în Script Editor, lucrezi într-un script obiect de nivel superior. Toate definiție script obiect au aceeași sintaxă, cu excepția faptului că obiectul script de nivel superior nu are nici un marcaj începutul și sfârșitul acestuia.
Obiectul poate conține următorul script:
- proprietăți Definiții (opțional):
Proprietatea este un container numit în care este stocată valoarea.
Executare AppleScript handler conține declarații executate atunci când script-ul ruleaza.
Implicit rula handler este format din orice declarație conținuta în afara oricărui obiect handler sau un script.
Manipulatorul este echivalentul unei subrutină.
script obiect poate conține script obiecte încorporate. fiecare dintre acestea este determinată ca și script-ul de nivel superior, cu excepția faptului că script-ul obiect încorporat în paranteze declarații care marchează începutul și sfârșitul.
Aici este un simplu script cu o singură proprietate, un manipulator, un script obiect imbricat. și handler rula implicit cu două declarații:
Prima declarație pe termen handler începe testGreet. kotorsq pfgecrftn încorporat script obiect testGreet. Acest obiect este handler script-ul greetClient (). transferul defaultClientName proprietate. Handler afișează un dialog bun venit clientul implicit, Mary Smith.
A doua declarație în handler rula cauze greetClient () în mod direct, "Joe Jones" argument.
Proprietatea este o caracteristică a unui obiect care are o valoare unică și o etichetă, cum ar fi numele proprietății ferestrei lunii sau de proprietate data. Definiția pentru toate clasele AppleScript include numele și clasa pentru fiecare dintre proprietățile sale. Numele de proprietate trebuie să fie unic în clasa. Valorile proprietate poate fi citire / scriere sau citire.
Data de clasa AppleScript, de exemplu, definește proprietățile unui citire / scriere sau citire. Acestea includ proprietatea zi lucrătoare a săptămânii. care este read-only, si luna. zi, an proprietăți care sunt disponibile pentru citire și scriere. Acest lucru se datorează faptului că valoarea zi a săptămânii a unei proprietăți depinde de alte proprietăți, nu puteți seta o zi lucrătoare arbitrar la data curentă.
O clasă de clasă proprietate pot fi simple, cum ar fi un boolean sau întreg. Clasa de compozit, cum ar fi punctul de clasă (format din două numere întregi) sau mai complexe de clasă.
Cele mai multe clase suporta proprietăți numai predefinite. Cu toate acestea, scenariul pentru o clasă, un AppleScript vă permite să specificați proprietăți suplimentare.
Elementul este obiectul conținută într-un alt obiect. Definirea pentru orice clasă AppleScript include tipuri de elemente pe care le-ar putea conține. De obicei, obiectul poate conține zero sau o cantitate mai mare de fiecare dintre elementele sale.
Pentru un anumit tip, obiectul poate cuprinde o multitudine de elemente, sau nu conține o serie de elemente pe care le conține pot varia în timp. De exemplu, puteți prelua lista de obiecte. nu conține celule (această listă poate fi goală). La un moment ulterior, aceeași listă poate conține mai multe elemente.
Puteți să adăugați sau să eliminați elemente dintr-un obiect depinde de clasă și membru. De exemplu, obiecte de text sunt imuabile, nu puteți adăuga sau șterge text, în cazul în care obiectul creat o dată. Pentru o listă de obiecte. nu puteți șterge elemente, dar puteți folosi comanda set. Pentru a adăuga un element la începutul sau la sfârșitul:
proiectanti obiect
Specificator Obiectul indică informațiile necesare pentru a găsi alți termeni de obiecte, în care este conținut. Specificator obiect se poate referi la obiecte de aplicații, cum ar fi o fereastră sau un fișier sau obiect AppleScript, cum ar fi un element în listă sau scrie proprietăți.
Specificator Obiectul primește o evaluare completă (sau rezoluție), numai în cazul în care script-ul este rulat, și nu atunci când este compilat. Script-ul poate conține un descriptor obiect valid (de exemplu, al treilea act de aplicare „TextEdit“. Ceea ce cauzează o eroare când scenariul (deoarece, de exemplu, poate fi deschis mai puțin de trei documente).
Aplicații redăm specificatorilor obiecta ca răspuns la comenzi. De exemplu, dacă vă întreb pentru ferestre Finder, acesta returnează informațiile care specifică obiectul fereastră, care a solicitat script-ul (dacă există). nivel superior obiect container specifier tipic aplicării.
Ceea ce este în interiorul specificatorul obiect
În exemplul următor, paragraful clasă de obiecte. Container - o expresie a documentului 1. Deoarece această frază în afirmații sunt. spune aplicație oferă un container de nivel superior, aplicația „TextEdit“. Informațiile distinctiv (link-ul) este o combinație de clasă alin. și valoarea indicelui, 1, care, împreună indică primul paragraf.
Notă: Dacă te uiți în dicționar pentru aplicația TextEdit, ați putea crede că acest scenariu este de a spune paragraful 1 al textului documentului 1. Cu toate acestea, în cazul în care valoarea este corectă, unele aplicații face viața mai ușoară pentru programatori, permițându-le să reducă obiectul container specificator. TextEdit folosește această funcție cu ukazannnym subcontainer implicit pentru text în document. Aceasta este, în cazul în care specificatorul obiect identifică un obiect, cum ar fi un cuvânt sau paragraf, care este conținut în textul documentului, TextEdit furnizează în mod automat o parte a calificativului obiect al textului.
containere
Recipientul este un obiect care conține una sau mai multe obiecte sau proprietăți. Specificatorul container determină în cazul în care pentru a găsi obiectul sau proprietatea. Pentru a specifica un container, utilizarea cuvântului sau. ca și în următoarea declarație (din Finder spune bloc):
folderul „Aplicații“ de disc de pornire
Recipientul poate fi un obiect sau mai multe site-uri, enumerate de la interior la obiect exterior care cuprinde, după cum se arată mai jos:
Puteți utiliza, de asemenea, forma posesiv (e), pentru a indica containerele. În exemplul următor, containerul cel mai interior și un prim obiect fereastră care reprezintă un nume de proprietate:
În acest exemplu, scopul aplicării pentru a spune ( „TextEdit“) este un recipient extern pentru specificatorul obiect.
specificatorilor obiect absolute și relative
obiect Specificator absolută are suficiente informații pentru identificarea obiectului sau obiectelor în mod clar. Acesta poate fi folosit oriunde în script-ul. Pentru obiect aplicație de referință pentru a fi absolut, este să fie recipientul exterior prin aplicarea, de exemplu:
Versiunea de aplicare "Finder" --result: "10.5.1"
În contrast, obiectul relativ Specificator nu specifică suficiente informații pentru identificarea obiectului sau obiectelor în mod clar, de exemplu:
Numele articolului 1 al discului 2
Când AppleScript întâlnește Specificator despre obiectul în tell de aplicare. el încearcă să folosească obiectivul prestabilit specificat în instrucțiunile pentru a finaliza obiectul specificator. In timp ce acest lucru nu este de obicei necesară, acest obiectiv implicit poate fi specificat în mod explicit, folosind cuvântul cheie aceasta.
În mod implicit obiectiv declarația tell este un obiect care primește comenzi, în cazul în care nici un alt obiect nu este specificat. De exemplu, următoarea declarație spune spune Finder, pentru a obține numele prin utilizarea obiectului Specificator anterior relativă.
Când AppleScript întâlnește un obiect relativ specificator în afara oricăror afirmații sunt, el încearcă să termine un obiect de calificare, uita la lanțul de moștenire.
Specificatorii obiect din obiectele care se face referire
Când aveți posibilitatea să creați un link (de referință) la obiectul cu referire la operator. acesta conține un specificator de obiect. De exemplu:
În acest script DocRef variabilă este o referință la un obiect a cărui Specificator se referă la primul document TextEdit-aplicația care duce la numele său „New Report.rtf“, este de așteptat în acest caz. Cu toate acestea, un obiect care se referă la DocRef poate schimba. Dacă deschideți un al doilea document TextEdit-numit „A doua Report.rtf“, fereastra sa se suprapune peste fereastra documentului anterior, și apoi executați din nou script-ul, acesta va returna numele documentului curent în prim-plan, „a doua Report.rtf“.
Ai putea crea în schimb o legătură cu un anumit obiect specificator:
Dacă executați acest script după deschiderea celui de al doilea document, acesta va reveni în continuare numele documentului sursă, „New Report.rtf“, în cazul în care există documentul.
Trebuie remarcat faptul că, ca urmare a echipei de a obține returna un obiect trimiteri Specificator, nu un calificativ la obiect, pe care îl definește.
Când el poate, AppleScript dereferences implicit obiect de referință (fără a utiliza conținuturi proprietăți), ca în exemplul următor:
Cast (obiect de conversie)
Reducerea (cunoscut și ca obiect de conversie) este procesul de conversie dintr-o clasă de obiect la altul. AppleScript transformă obiectul unei clase diferite în oricare dintre următoarele cazuri:
- ca răspuns la calitate de operator
- în mod automat în cazul în care un obiect de o altă clasă decât era de așteptat pentru o anumită comandă sau operațiune
Nu toate clasele pot fi oferite pentru toate celelalte tipuri de clase. Tabelul de mai jos rezumă exprimate, care susține AppleScript pentru clasele utilizate în mod obișnuit.
ca operatorul specifică o anumită distribuție. De exemplu, următoarea declarație determină un întreg de text 2 „2“, înainte de a fi stocate într-o variabilă myText:
set myText la 2 sub formă de text
Dacă furnizați comanda parametru sau clasa greșit operand, un AppleScript duce automat operandul sau parametru la clasa de așteptat, dacă este posibil. În cazul în care conversia nu poate fi efectuată, AppleScript raportează o eroare.
Sprijinit implicit AppleScript aduce:
Conversia Clasa