Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!
Zadejte Vaši e-mailovou adresu:
Kamarád fotí rád?
Přihlas ho k odběru fotomagazínu!
Zadejte e-mailovou adresu kamaráda:
![OBLIBENE_TITLE2](/templates/107/gr/print-logo.gif)
Informace
AppleScript - seznamy
2. března 2007, 11.00 | Dnes se dostáváme k seznamům. Ty nám budou v AppleScriptu velmi užitečné, protože si můžeme vytvořit nějaký seznam, ať už souborů, čísel nebo libovolných dat, na který aplikujeme nějakou akci, která naše data zpracuje. Vypadá to možná velmi složitě, ale většinu věcí již známe z předchozích kapitol, proto se do toho hned pusťme.
Seznam je skupina např. čísel oddělených čárkami, uzavřená mezi dvojicí složených závorek.
{7, 13, 17, 23}
Seznam může samozřejmě obsahovat i jiné třídy. Není tedy problém mít třeba seznam stringů.
{"red", "blue", "yellow"}
A nic nám dokonce nebrání mít seznam kombinovaný, obsahující nejrůznější třídy.
{0.117, "black", true, 19425, "purple", false, 147.123}
Samozřejmě může seznam také obsahovat proměnné, a to bez ohledu na jejich obsah. Dokonce může seznam obsahovat i jiné seznamy, a to jak samostatně, tak jako obsah proměnné.
{17, seznam_cisel, {"red", "blue", "yellow"}, "red", 23.569874, seznam_kombinovany}
![](/old-idif/images/applescript_15_1.jpg)
Vytvořit seznam tedy není nic složitého, stačí vzít libovolná data a uzavřít je mezi složené závorky. Tak postupujeme, když známe náš seznam předem a připravujeme ho sami. Co ale dělat, když potřebujeme seznam vytvořit až v průběhu programu v závislosti na určitých parametrech? Použijeme k tomu prázdný seznam. Stejně jako Null string jsou pouze dvě dvojité uvozovky neohraničující nic, tvoří prázdný seznam pouze dvě složené závorky neobsahující nic. Takovýto seznam si vytvoříme na začátku programu a pak do něj přidáváme jednotlivé položky. Jak se to dělá, si řekneme příště. Nejdřív se ale naučíme, jak pracovat s jednotlivými částmi seznamu.
Začneme tím, že zjistíme, kolik položek seznam obsahuje. K tomu použijeme nám známý příkaz count. Počítáme-li celý seznam, použijeme příkaz
count items in seznam_vseho
Jako item se rozumí každá část seznamu bez ohledu na jeho třídu nebo velikost. My ale můžeme zjistit i počet jen některých tříd v seznamu. Jak? Jednoduše nahradíme slovo item např. za slovo integers.
count integers in seznam
![](/old-idif/images/applescript_15_2.jpg)
Stejně jako u stringů můžeme vybírat jednotlivé části seznamů a vybírat tak jeho elementy podle naší potřeby. Položky v seznamu jsou uspořádány za sebou a mají přiřazena svá pořadová čísla, kterými je můžeme ze seznamu vybrat. Používáme k tomu již nám známé pořadové číslovky a slovo item. Např. tedy
first item of seznam_cisel 2nd item of seznam_barev item 3 of seznam_kombinovany
Samozřejmě funguje i výběr od konce pomocí záporného čísla.
item -4 of seznam_vseho
Pro první položku seznamu můžeme použít slovo beginning a pro poslední last item nebo end.
beginning of seznam_kombinovany last item of seznam_barev end of seznam_cisel
Můžeme také vybrat náhodně libovolnou položku pomocí slova some a prostřední položku za použití middle. Ta je vybírána pomocí vzorce: počet všech položek + 1 děleno dvěma.
some item of seznam_vseho middle item of seznam_vseho
Všechny položky vybereme pomocí every item nebo items. Přesný výběr zase pomocí item x through item y.
every item of seznam_cisel items in seznam_barev item 2 trough item -2 of seznam_kombinovany
![](/old-idif/images/applescript_15_3.jpg)
Toto není nic složitého a princip je stejný jako u stringů, takže by už pro vás neměl být problém najít v seznamu, co potřebujete. AppleScript toho ale umí ještě více. Jak jsem ukazoval před chvílí, můžeme v seznamu spočítat výskyt jen jedné třídy, stejně tak ale můžeme jednotlivé třídy vybrat. A jak už je v AppleScriptu běžné, jde to velmi snadno, stačí nahradit slovo item za název požadované třídy. Number -2 nám tedy najde předposlední číslo v celém seznamu a strings of vybere všechny texty. V případě, že vybíráme více položek, je výsledkem opět seznam všech vybraných položek.
number -2 of seznam_kombinovany strings of seznam_kombinovany first list of seznam_vseho numbers 1 through 2 of seznam_kombinovany real 1 of seznam_vseho some string in seznam_kombinovany middle number of seznam_kombinovany
![](/old-idif/images/applescript_15_4.jpg)
To je pro dnešek vše. Jak jsem říkal, nebylo to nic složitého, proto se k seznamům ještě vrátíme a ukážeme si, co s nimi ještě můžeme provádět. Příště se naučíme, jak seznamy upravovat a jak v nich přidávat a ubírat položky.
Obsah seriálu (více o seriálu):
- AppleScript - úvod
- AppleScript - Script Editor
- AppleScript - Proměné
- AppleScript - Třídy
- AppleScript - matematika a počítání
- AppleScript - rozhodování
- AppleScript - práce s daty
- AppleScript - slovníky
- Apple Script - rozhodování
- Apple Script - opakování akcí
- Apple Script - opakování akcí (pokračování)
- Apple Script - Text
- Apple Script - elementy Stringu
- Apple Script - elementy Stringu II.
- AppleScript - seznamy
- AppleScript - seznamy II.