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:
Software
Apple Script - elementy Stringu
16. října 2006, 00.00 | V tomto díle se naučíme pracovat s jednotlivými elementy stringu a vybírat je podle pořadí. Také se naučíme používat speciální znaky a povíme si něco o textových konstantách v AppleScriptu. Práce s textem je do velké míry podobná práci se seznamy, proto věnujte tomuto dílu zvýšenou pozornost a snažte se vše pochopit.
Sčítat písmenka je sice velmi užitečné, ale občas to nestačí, a my potřebujeme spočítat třeba i slova a odstavce. K jejich označení používáme anglická slova word, paragraph a slovo character pro písmena, které se ale moc nepoužívá, protože písmena počítá AppleScript při použití příkazu count bez jakéhokoli upřesnění. Jako slovo se myslí jakýkoli řetěz písmen oddělený mezerami, tedy i čísla, data a složená slova. Odstavec oddělují entery, nebo znak pro novou řádku. Ještě se můžeme setkat s text item. To je řetěz oddělený speciálními znaky, které si sami nadefinujeme. Můžeme tak dělit text např. pomocí lomítek, čárek, tabulátorů nebo i pomocí více znamének najednou. To je velmi praktické zpracováváme-li nějaký text pro tabulku, nebo nějakou databázi. Tato znaménka se nazývají text item delimiters a mají své defaultní nastavení. V případě, že je pro nějaký účel změníme, nesmíme zapomenout na konci vše vrátit do původního stavu, mohli by jsme být v jiném skriptu nemile překvapeni. Standardně se před jejich změnou uloží původní nastavení do proměnné, ze které pak všechno navrátíme.
Když jsme sčítali texty, mluvil jsem o mezeře Sčítáme-li dva stringy, je jednoduší přidat mezeru na konec jednoho, nebo na začátek druhého, tak jak bylo ukázáno v příkladu. Co ale dělat v případě, že potřebujeme mezeru mezi dvě proměnné? Můžeme bud vložit samostatnou mezeru ohraničenou uvozovkami, nebo použít předdefinované konstanty space. Stejně jako u času, máme i pro texty AppleScriptem nadefinované konstanty. Space je jedna a její hodnota je samostatná mezera. Další je return pro enter který nám udělá další odstavec a tab pro tabelátor. Chceme-li je vložit mezi nějaké texty nesmíme zapomenout na slučovací znaménko &.
Další skupinou jsou znaky, které využívá sám AppleScript a proto je nemůžeme napsat volně do textu, jsou to právě třeba uvozovky, které nám ohraničují string. Jejich napsáním doprostřed věty nechtěně rozdělíme jeden string na dva a často vyvoláme chybu. Co ale dělat potřebujeme-li s takovými znaky pracovat? Snadná pomoc, máme tu pro to zpětné lomítko. To je znak upozorňující AppleScript že bude následovat speciální znak a ten ho pak vnímá jako součást textu. Pro ukázku si napište do nového okna toto:
display dialog "Zadej své \"HESLO\"\\\"JMÉNO\""
Tento krkolomně vypadající string bude však v dialogu zobrazen bez lomítek a bude tedy bez problémů čitelný. Kromě uvozovek \" a lomítka \\ se ještě používá \t, což je ekvivalent konstanty tab, pouze se nachází přímo v textu. To samé je je \r pro return.
Se stringem se dá ještě dále pracovat. Známe už jak počítat písmena, slova a odstavce, my ale můžeme string na tyto jednotlivé části i rozdělit. Můžeme dokonce vybírat jednotlivé části přesně tak jak potřebujeme, a to pomocí jejich pořadí. Bez problémů si tedy řekneme o pátý odstavec, nebo desáté slovo z daného stringu. Děláme to pomocí anglických pořadových slov: first, second, third... tenth... použijeme-li číslo pouze s příponou jako je 1st, 2nd, 3rd..., je to totéž, stejně jako item 1, item 2, item 3... Pokud použijeme za item záporné číslo, obracíme tím celý příkaz a string rozebíráme od konce. Kromě určení pořadí máme ještě pár možností jak vybrat určitou část stringu. Jsou to: last nebo end pro konec, some pro náhodnou položku, every pro všechny, tedy celý string, a item X through Y pro přesný výběr. Slovo item můžeme nahradit třeba slovem word, nebo paragraph, slovo item je rovno slovu character, tedy písmenu. Stejně můžeme specifikovat požadovaný výsledek za pořadová čísla, např.: second word. Na následující ukázce uvidíte jak vše funguje v praxi. Výsledek vždy uvidíte v poznámce za příkazem. Všimněte si slov in a of, které jsou zaměnitelné a používají se spíše podle osobních sympatií a zvyku než kvůli nějakému rozdílu mezi nimi.
Pro dnešek je to vše, příště se texty naučíme porovnávat a povíme si něco o defaultním nastavení AppleScriptu týkajícím se textů a podíváme se ještě na práci s částmi stringů.
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.