Jazyk

Tcl je velmi jednoduchý programovací jazyk. Pokud jste programovalipředtím se můžete naučit psát zajímavé Tclprogramy během několika hodin. Tato stránka poskytuje rychlý přehledz hlavních funkcí Tcl. Po přečtení tohoto, budete ale asi schopen začít psát jednoduché Tcl skripty na své vlastní; nicméně, werecommend, že byste se poradit jeden z mnoha dostupných Tcl knihy pro morecomplete informace.

Základní syntaxe

Tcl skripty jsou tvořeny příkazy oddělené newlinesor středníky., Příkazy všechny mají stejný základní tvar illustratedby následující příklad:

expr 20 + 10

Tento příkaz vypočítá součet 20 a 10 a vrátí výsledek, 30.Můžete vyzkoušet tento příklad a všechno ostatní na této stránce bytyping je na Tcl aplikace, jako je tclsh; po příkaz dokončí, tclsh otisky jeho výsledek.

každý příkaz Tcl se skládá z jednoho nebo více slov oddělených mezerami., V tomto příkladu jsou čtyři slova: expr20 + 10. První slovo je název příkazu a další slova jsou argumentak tomuto příkazu. Všechny příkazy Tcl se skládají ze slov, ale různéoblasti zacházet s jejich argumenty jinak.expr příkaz léčí všechny itsarguments společně jako aritmetický výraz, vypočítá výsledek thatexpression, a vrátí výsledek jako řetězec., V exprpříkaz rozdělení na slova není významný: dalo by se jen aseasily uplatnily stejný příkaz jako

expr 20+10

Nicméně, pro většinu příkazů slovo struktura je důležité, s eachword používá pro odlišný účel.

všechny příkazy Tcl se vrátívýsledky. Pokud příkaz nemá žádný smysluplný výsledek, vrátí jako výsledek nepěkný řetězec.

proměnné

Tcl umožňuje ukládat hodnoty do proměnných a používat příkazy hodnot laterin. Příkaz set se používá k zápisu a readvariables., Například následující příkaz změní proměnnáx držet hodnotu 32:

set x 32

příkaz vrátí novou hodnotu proměnné. Můžete si přečíst její hodnotu proměnné vyvoláním set s pouze singleargument:

set x

nemusíte deklarovat proměnné v Tcl: variabilní je createdautomatically první čas je nastaven. Proměnné Tcl nemajítypy: každá proměnná může mít libovolnou hodnotu.,

Chcete-li použít hodnotu proměnné v příkazu, použijte variablesubstitution jako v následujícím příkladu:

expr $x*3

Když $ se zobrazí v příkazu Tcl léčí lettersand číslice následující jako název proměnné, a náhražky hodnoty proměnné v místě názvu. V tomto příkladu, skutečná argument přijat expr příkaz32*3 (za předpokladu, že proměnná x setas v předchozím příkladu)., Můžete použít proměnné nahrazení jakékoliv slovo libovolný příkaz, nebo i několikrát v rámci jediné slovo:

set cmd exprset x 11$cmd $x*$x

Příkaz substituce

můžete také použít výsledek jednoho příkazu jako argument k anothercommand. Toto se nazývá substituce příkazu:

set a 44set b 

Když jako vnořený příkaz Tcl.Tcl hodnotí vnořený příkaz, a nahrazuje jeho výsledek do obvodových příkaz na místě uzávorkovaný text., V příkladu nad druhým argumentem druhéhoset příkaz bude 176.

uvozovky a závorky

dvojité uvozovky umožňují určit slova, která obsahují mezery. Například zvažte následující scénář:

set x 24set y 18set z "$x + $y is "

Po tyto tři příkazy jsou hodnoceny proměnné z bude hodnota 24 + 18 is 42. Vše mezi quotesis bylo předáno příkazu set jako jediné slovo., Všimněte si, že (a) příkaz a variabilní substituce jsou prováděny na textu mezivazby a (b) samotné citace nejsou předány příkazu.Pokud by citace nebyly přítomny, měl by příkazset získat 6 argumentů, což by způsobilo chybu.

kudrnaté rovnátka poskytují další způsob seskupení informací do slov.,Oni se liší od uvozovek v tom, že žádné náhrady jsou performedon text mezi složené závorky:

set z {$x + $y is }

Tento příkaz nastaví proměnnou z s hodnotou“$x + $y is „.

řídicí struktury

Tcl poskytuje kompletní sadu řídicích struktur včetně příkazůpro podmíněné provedení, smyčku a postupy. TCL controlstructures jsou jen příkazy, které berou TCL skripty jako argumenty.,Níže uvedený příklad vytvoří Tcl postup se nazývá power,která zvyšuje základ pro celé napájení:

proc power {base p} { set result 1 while {$p > 0} { set result set p } return $result}

Tento skript se skládá z jediného příkazu, proc. Příkazproc má tři argumenty: název postupu, seznam názvů argumentů a tělo postupu, který isa TCL skript. Všimněte si, že všechno mezi složenou závorkou na konci prvního řádku a složená závorka na posledním řádku je passedverbatim proc jako jediný argument., Příkaz procvytvoří nový příkaz Tcl s názvem power, který takestwo argumenty. Pak můžete vyvolat power s commandslike následující:

power 2 6power 1.15 5

Když power je vyvolána, postup, tělo je hodnocena.Zatímco tělo vykonává to může přístup k jeho argumenty jako proměnné:base bude mít první argument a p pořádat druhý.,

tělo power postup obsahuje tři Tcl příkazy:set while return. while příkaz dělá většinu práce řízení.To trvá dva argumenty, výraz ($p > 0) a tělo, které je další Tcl skriptu. while commandevaluates jeho argument výraz pomocí pravidla podobná těm z C programovací jazyk, a pokud je výsledek true (nenulovou) je hodnotí tělo jako Tcl skript., Opakuje tento proces znovu a znovu, dokud nakonec výraz vyhodnotí na false (nula). V tomto případě smlouvastanovila tělo while příkaz násobí výsledek valueby base a pak sníží p. Kdyžp dosáhne nuly, výsledek obsahuje požadovaný výkonbase. Příkaz return způsobí, že se procedura ukončí hodnotou proměnné result jako výsledek postupu.

odkud pocházejí příkazy?,

jak jste viděli, všechny zajímavé funkce v Tcl jsoupředstavené příkazy. Příkazy jsou příkazy, výrazy jsouvyhodnocené prováděním příkazů,řídicí struktury jsou příkazy a postupy jsou příkazy.příkazy

TCL jsou vytvořeny třemi způsoby. Jedna skupina příkazůje poskytována samotným tlumočníkem Tcl. Tyto příkazy jsou volánybudované příkazy. Zahrnují všechny příkazy, které jste dosud viděli, a mnoho dalších (viz níže). Vestavěné příkazyjsou přítomny ve všech aplikacích Tcl.

druhá skupina příkazů je vytvořena pomocí TCL extensionmechanismu., Tcl poskytuje API, která vám umožní vytvořit nový příkazpsáním příkazového postupu v C nebo C++, který implementujepříkaz. Poté registrujete příkazový postup s interpretem theTcl tím, že řeknete Tcl název příkazu, který implementuje. V budoucnu, kdykoli je toto konkrétní jménopoužívá se pro příkaz Tcl, Tcl zavolá příkazový postup, aby se příkaz objevil. Vestavěné příkazy jsou také implementovány pomocítento stejný mechanismus rozšíření; jejich příkazové postupy jsou jednoduše součástí knihovny Tcl.,

Když se Tcl používá uvnitř aplikace, aplikace začlení své klíčové funkce do Tcl pomocí prodlužovacího mechanismu. Setof dostupných příkazů Tcl se tedy liší od aplikace k aplikaci.Existují také četné balíčky rozšíření, které lze začlenitdo jakékoli aplikace Tcl. Jedním z nejznámějších rozšíření je Tk,který poskytuje výkonné zařízení pro vytváření grafických uživatelůinterface. Další rozšíření poskytují objektově orientované programování, přístup k databázi,více grafických možností a řadu dalších funkcí., Jednou z největších výhod TCL pro budování integračních aplikací je možnost rozšíření o nové funkce nebo propojení s dalšími zdroji.

třetí skupina příkazů se skládá z postupů vytvořen s proc příkaz, například powerpříkaz vytvořili výše. Typicky se rozšíření používají pro nižší úroveňfunkce, kde je programování C pohodlné a používají se postupypro funkce vyšší úrovně, kde je snadnější psát v Tcl.,

Další funkce

Tcl obsahuje mnoho dalších příkazů, kromě těch, které používají v thepreceding příklady. Zde je sampler některých featuresprovided o builtin Tcl příkazy:

  • Další řídicí struktury, jako je if forforeach switch.
  • manipulace s řetězci, včetně silného pravidelného expressionmatching zařízení. Libovolné délky řetězce mohou být předány kolema manipulovat stejně snadno jako čísla.,
  • I / o, včetně souborů na disku, síťových zásuvek a zařízení suchas sériové porty. Tcl poskytuje zvláště jednoduché zařízeníkoketová komunikace přes Internet.
  • správa Souborů: Tcl poskytuje několik příkazů pro manipulatingfile jména, čtení a psaní atributy souborů, kopírování souborů,mazání souborů, vytváření adresářů, a tak dále.
  • subprocess invocation: můžete spustit další aplikace pomocí příkazuexec a komunikovat s nimi, když běží.,
  • seznamy: Tcl usnadňuje vytváření sbírek hodnot (seznamů) a manipulaci s nimi různými způsoby.
  • pole: můžete vytvořit strukturované hodnoty sestávající z jmenných hodnot s libovolnými hodnotami řetězců pro jména a hodnoty.
  • manipulace s časem a datem.
  • události: Tcl umožňuje skriptům čekat na určité události, jako napřposledovaný čas nebo dostupnost vstupních dat v síťové zásuvce.,

Příklady

  • jednoduchý nástroj příkazového řádku
  • jednoduchý síťový server

Návod

nějaký čas se ponořit trochu hlouběji do jazyka?Tcl Tutorialje skvělý způsob, jak se dozvědět více o různých příkazech Tcl ajazyčné funkce.

Share

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *