Język

Tcl jest bardzo prostym językiem programowania. Jeśli masz zaprogramowaneprzed, możesz nauczyć się wystarczająco dużo, aby napisać interesujące programy Tclprogramów w ciągu kilku godzin. Ta strona zawiera szybki przegląd głównych funkcji Tcl. Po przeczytaniu tego będziesz prawdopodobnie w stanie rozpocząć pisanie prostych skryptów Tcl na własną rękę; jednak zaleca się, aby zapoznać się z jedną z wielu dostępnych książek Tcl, aby uzyskać więcej kompletnych informacji.

podstawowa składnia

Skrypty Tcl składają się z poleceń oddzielonych średnikami newlinesor., Wszystkie polecenia mają tę samą podstawową formę, zilustrowaną poniższym przykładem:

expr 20 + 10

To polecenie oblicza sumę 20 i 10 i zwraca wynik 30.Możesz wypróbować ten przykład i wszystkie inne na tej stronie, wpisując je do aplikacji Tcl, takiej jak tclsh; po zakończeniu polecenia tclsh wypisuje wynik.

każde polecenie Tcl składa się z jednego lub więcej słów rozdzielonych spacjami., W tym przykładzie są cztery słowa: expr,20, + I 10. Pierwszym słowem jest nazwa polecenia, a pozostałe słowa są argumentem do tego polecenia. Wszystkie polecenia Tcl składają się ze słów, ale inne polecenia traktują swoje argumenty inaczej.Polecenieexpr traktuje wszystkie swojeargumenty razem jako wyrażenie arytmetyczne, oblicza wynik tego wyrażenia i zwraca wynik jako łańcuch znaków., W poleceniu expr podział na słowa nie jest znaczący: równie łatwo można było wywołać to samo polecenie co

expr 20+10

jednak dla większości poleceń struktura słowa jest ważna, z każdym słowem używanym w innym celu.

wszystkie polecenia Tcl zwracają wyniki. Jeśli polecenie nie ma znaczącego wyniku, to zwraca jako wynik anempty string.

zmienne

Tcl pozwala zapisywać wartości w zmiennych i używać poleceń values laterin. Polecenie set jest używane do zapisu i odczytu zmiennych., Na przykład, następujące polecenie modyfikuje zmienną x aby utrzymać wartość 32:

set x 32

polecenie zwraca nową wartość zmiennej. Wartość zmiennej można odczytać poprzez wywołanie set tylko jednymargumentem:

set x

nie musisz deklarować zmiennych w Tcl: zmienna jest tworzona automatycznie przy pierwszym ustawieniu. Zmienne Tcl nie mają typów: każda zmienna może zawierać dowolną wartość.,

aby użyć wartości zmiennej w poleceniu, użyj variablesubstitution jak w poniższym przykładzie:

expr $x*3

gdy w poleceniu pojawia się$, Tcl traktuje następujące po nim litery i cyfry jako nazwę zmiennej i zastępuje wartość zmiennej zamiast nazwy. W tym przykładzie argumentem rzeczywistym otrzymanym przez polecenieexpr będzie 32*3(zakładając, że zmienna x została ustawiona w poprzednim przykładzie)., Możesz użyć podstawienia zmiennej wwielu słowach dowolnego polecenia, lub nawet wielokrotnie w jednym słowie:

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

podstawienie polecenia

Możesz również użyć wyniku jednego polecenia w argumencie do innego polecenia. Jest to tak zwane zastępowanie poleceń:

set a 44set b 

gdy jako zagnieżdżone polecenie Tcl.Tcl ocenia zagnieżdżone polecenie i zamienia jego wynik na polecenie załączające zamiast tekstu w nawiasach., W powyższym przykładzie drugim argumentem drugiego polecenia set będzie 176.

cudzysłowy i klamry

podwójne cudzysłowy pozwalają określić słowa zawierające spacje. Na przykład, rozważ następujący skrypt:

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

po ocenie tych trzech poleceń zmienna zbędzie miała wartość 24 + 18 is 42. Wszystko pomiędzy quotesis przekazywane do polecenia set jako pojedyncze słowo., Zauważ, że (a) zastępowanie poleceń i zmiennych odbywa się w tekście pomiędzy cudzysłowami, oraz (b) same cytaty nie są przekazywane do polecenia.Gdyby cudzysłów nie był obecny, polecenie set otrzymałoby 6 argumentów, co spowodowałoby błąd.

nawiasy klamrowe zapewniają inny sposób grupowania informacji w słowa.,Różnią się one od cudzysłowów tym, że nie są wykonywane podstawienia w tekście między klamrami:

set z {$x + $y is }

To polecenie ustawia zmienną z na wartość”$x + $y is „.

struktury sterowania

Tcl dostarcza kompletny zestaw struktur sterowania, w tym polecenia do wykonywania warunkowego, zapętlania i procedur. TCL controlstructures są tylko poleceniami, które przyjmują Skrypty Tcl jako argumenty.,Poniższy przykład tworzy procedurę Tcl o nazwie power, która podnosi bazę do potęgi całkowitej:

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

Ten skrypt składa się z jednego polecenia, proc. Polecenieproc pobiera trzy argumenty: nazwę procedury,listę nazw argumentów i ciało procedury, które jest skryptem Tcl. Zauważ, że wszystko pomiędzy nawiasami klamrowymi na końcu pierwszej linii a nawiasami klamrowymi na ostatniej linii jest przekazywane do proc jako pojedynczy argument., Polecenieproctworzy nowe polecenie Tcl o nazwie power, które przyjmuje dwa argumenty. Następnie możesz wywołać power za pomocą następujących poleceń:

power 2 6power 1.15 5

gdy power, ciało procedury jest oceniane.Podczas wykonywania body może uzyskać dostęp do swoich argumentów jako zmiennych:basezatrzyma pierwszy argument, a p zatrzyma drugi.,

ciało procedurypower zawiera trzy polecenia Tcl:set,while Ireturn. Poleceniewhile wykonuje większość pracy procedure.It pobiera dwa argumenty, wyrażenie ($p > 0) I abody, który jest kolejnym skryptem Tcl. Poleceniewhile ocenia swój argument wyrażenia przy użyciu reguł podobnych do reguł języka programowania C i jeśli wynik jest prawdziwy (niezerowy), ocenia ciało jako skrypt Tcl., Proces ten powtarza się w nieskończoność aż w końcu wyrażenie zostanie obliczone na false (zero). W tym przypadku ciało poleceniawhile pomnożyło wartość wyniku base, a następnie zmniejsza p. Gdyp osiągnie zero, wynik zawiera żądaną mocbase. Poleceniereturn powoduje zakończenie procedury z wartością zmiennej result jako wynik procedury.

skąd się biorą polecenia?,

jak widać, wszystkie ciekawe funkcje w Tcl są reprezentowane przez polecenia. Polecenia są poleceniami, wyrażenia są ewaluowane przez wykonywanie poleceń, struktury sterowania są poleceniami, a procedury są poleceniami.

polecenia Tcl są tworzone na trzy sposoby. Jedna grupa poleceń jest dostarczana przez interpreter Tcl. Polecenia te są nazywane poleceniami builtin. Zawierają one wszystkie polecenia, które do tej pory widziałeś i wiele innych (patrz poniżej). Wbudowane polecenia są obecne we wszystkich aplikacjach Tcl.

druga grupa poleceń jest tworzona przy użyciu TCL extensionmechanizm., Tcl dostarcza interfejsy API, które pozwalają na utworzenie nowego polecenia poprzez napisanie procedury polecenia w C lub C++, która implementuje polecenie. Następnie rejestrujesz procedurę poleceń za pomocą interpretera CL, podając TCL nazwę polecenia, które implementuje proces. W przyszłości, za każdym razem, gdy ta konkretna nazwa jest używana dla polecenia Tcl, Tcl wywoła procedurę polecenia, aby ją odczytać. Wbudowane polecenia są również implementowane przy użyciu tego samego mechanizmu rozszerzeń; ich procedury poleceń są po prostu częścią biblioteki Tcl.,

gdy Tcl jest używany wewnątrz aplikacji, aplikacja włącza swoje kluczowe funkcje do Tcl za pomocą mechanizmu rozszerzenia. Tak więc zestaw dostępnych poleceń Tcl różni się w zależności od aplikacji.Istnieją również liczne pakiety rozszerzeń, które można włączyć do dowolnej aplikacji Tcl. Jednym z najbardziej znanych rozszerzeń jest Tk,które zapewnia potężne możliwości do budowania graficznych interfejsów użytkownika. Inne rozszerzenia zapewniają programowanie obiektowe, dostęp do baz danych, więcej możliwości graficznych i wiele innych funkcji., Jedną z największych zalet Tcl w budowaniu aplikacji integracyjnych jest możliwość rozszerzenia jej o nowe funkcje lub komunikacji z innymi zasobami.

trzecia grupa poleceń składa się z procedur utworzonych za pomocą poleceniaproc, takiego jak poleceniepowerutworzone powyżej. Zwykle rozszerzenia są używane do funkcji niższego poziomu, gdzie programowanie w C jest wygodne, a procedury są używane do funkcji wyższego poziomu, gdzie łatwiej jest pisać w Tcl.,

inne funkcje

Tcl zawiera wiele innych poleceń oprócz tych używanych w przykładach. Poniżej znajduje się próbnik niektórych funkcji udostępnianych przez wbudowane polecenia Tcl:

  • Więcej struktur sterowania, takich jak if, for,foreach I switch.
  • manipulacja ciągami, w tym potężne narzędzie do regularnego wyrażania. Ciągi o dowolnej długości mogą być przekazywane dookoła i manipulowane tak samo łatwo jak liczby.,
  • I / O, W tym pliki na dysku, gniazda sieciowe i urządzenia takie jak porty szeregowe. Tcl zapewnia szczególnie proste możliwości komunikacji za pośrednictwem Internetu.
  • Zarządzanie plikami: Tcl udostępnia kilka poleceń do manipulowania nazwami plików, odczytu i zapisu atrybutów plików, kopiowania plików, usuwania plików, tworzenia katalogów i tak dalej.
  • wywołanie Podprocesu: możesz uruchamiać inne aplikacje za pomocą poleceniaexec I komunikować się z nimi podczas ich uruchamiania.,
  • Lists: Tcl ułatwia tworzenie kolekcji wartości (list)i manipulowanie nimi na wiele sposobów.
  • Tablice: możesz tworzyć strukturyzowane wartości składające się z nazw-valuepairs z dowolnymi wartościami łańcuchowymi dla nazw i wartości.
  • manipulacja czasem i datą.
  • zdarzenia: Tcl pozwala skryptom czekać na pewne zdarzenia, takie jak upłynął czas lub dostępność danych wejściowych w gnieździe sieciowym.,

przykłady

  • proste narzędzie wiersza poleceń
  • prosty serwer sieciowy

samouczek

masz trochę czasu, aby zagłębić się nieco dalej w język?Tutoriale Tcl to świetny sposób, aby dowiedzieć się więcej o różnych poleceniach i funkcjach języka Tcl.

Share

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *