Przykłady programowania Tcl, samouczki i więcej

Ujawnienie: Twoje wsparcie pomaga utrzymać działanie witryny! Pobieramy opłatę za polecenie niektórych usług, które zalecamy na tej stronie.


Tcl, czyli „Tool Command Language” (i wymawiane „Tickle”), jest dynamicznie pisanym językiem skryptowym, oryginalnie wymyślonym pod koniec lat osiemdziesiątych. Jest często używany do tworzenia prototypów i systemów osadzonych, ale jest dość zdolny do użycia w aplikacjach na pełną skalę. Było pod wpływem Lisp i jest do niego podobne.

Tk to ściśle powiązany zestaw narzędzi GUI. Jest to rozszerzenie do Tcl, ale jest teraz dostępne do użytku z kilkoma innymi językami.

Tcl i Tk zostały utworzone przez tego samego programistę i są często używane tak, jakby były składnikami jednego narzędzia. Udostępniają nawet numery wersji. Razem są zwykle nazywane „Tcl / Tk” i są potężną technologią do szybkiego rozwoju.

O języku Tcl

Tcl jest interesującym językiem; ma wiele dość niezwykłych funkcji w porównaniu do innych języków programowania.

Tcl nie ma zastrzeżonych słów ani struktur kontrolnych. Struktury kontrolne, takie jak „for” i „if”, są w rzeczywistości poleceniami. Polecenia w Tcl można zastąpić lub przedefiniować, więc programista może dosłownie zmienić znaczenie „for” (lub dowolnej konstrukcji języka) w programie. Chociaż zwykle nie jest to wskazane, jest bardzo potężne.

Wszystkie typy danych w Tcl mogą być traktowane jako ciągi, ponieważ w istotny sposób są ciągami. Nawet kodem źródłowym można manipulować jako ciąg znaków. Liczba całkowita 2 i ciąg "2)" mają tę samą wartość. Nie oznacza to, że wszystkie zmienne muszą być przez cały czas traktowane jak łańcuchy. Wartość 2 jest liczbą całkowitą, gdy jest przekazywana jako argument do polecenia, które ma znaczenie dla liczb całkowitych. Gdyby "Witaj" jest przekazywany do polecenia, które traktuje argument jak liczbę całkowitą, wynikiem będzie albo bzdura, albo błąd. Do programisty należy sprawdzenie, czy odpowiednie wartości są przekazywane jako argumenty.

Oznacza to, że wartości Tcl są zasadniczo polimorficzne. Dodatkowo, kod może być generowany, sprawdzany i manipulowany jak każde inne dane. Funkcje te umożliwiają zaawansowane techniki introspekcji i metaprogramowania.

Składnia

Składnia języka jest bardzo prosta i przypomina język skryptowy Bash: nieprzylepione polecenie, po którym następuje jeden lub więcej argumentów oddzielonych spacjami. Nawiasy klamrowe służą do wyławiania argumentów, które muszą zawierać w nich spacje (tzn. W nawiasach klamrowych spacje nie są ogranicznikami słów).

# To jest komentarz. Komentarze zaczynają się od znaku skrótu.

# bardzo proste polecenie, aby wydrukować słowo "Witaj"
cześć

# ale jeśli chcemy powiedzieć "Witaj świecie"
stawia {witaj świecie}

Podobnie jak skrypt powłoki, skrypt Tcl to po prostu seria poleceń jednowierszowych. Tłumacz zawsze odczytuje pierwszy wiersz jako nazwę polecenia i traktuje każdy dodatkowy element w wierszu jako argument tego polecenia.

W ten sposób działają nawet pozornie złożone struktury kontrolne. Rozważ następujące:

if {$ a == 1} {puts {Hello, World}} {puts {Do widzenia, okrutny świecie! }}

Wywoływane polecenie to if. Pierwszy argument jest wyrażeniem do oceny. Następny argument to skrypt, który należy uruchomić, jeśli pierwszy argument jest prawdziwy. Ostatni argument to skrypt, który należy uruchomić, jeśli pierwszy argument nie był prawdziwy.

Jest to oczywiście dość podstawowe programowanie, ale ciekawe, jak interpreter obsługuje tę składnię. Ponadto, jeśli wyrażenia i skrypty byłyby pojedynczymi słowami, nawiasy klamrowe byłyby niepotrzebne:

# utwórz dwie nowe procedury
proc hello {} {stawia {Witaj, świecie! }}
proc goodbye {} {stawia {Do widzenia, okrutny świecie!}

# warunkowe bez nawiasów klamrowych
jeśli cześć do widzenia

Oprócz nawiasów klamrowych istnieją dwa dodatkowe tokeny „grupujące”: podwójne cudzysłowy i nawiasy kwadratowe.

Podwójne cudzysłowy i nawiasy klamrowe są podobne (ponieważ wszystko jest ciągiem), z tym wyjątkiem, że podwójne cudzysłowy interpolują zmienne, podczas gdy nawiasy klamrowe traktują ich zawartość jako ciągi literalne.

# przypisać "świat" do zmiennej a
ustawić świat

stawia $ a
# świat

stawia {cześć $ a}
# cześć $ a

stawia "cześć $ a"
# Witaj świecie

Nawiasy kwadratowe służą do zastępowania poleceń. Oznacza to, że zawartość pary nawiasów kwadratowych jest najpierw oceniana przez interpretera, a następnie zwracana wartość jest zastępowana w wierszu jako polecenie lub argument.

stawia [wyrażenie {1 + 1}]
# 2

# Głupi proc, który po prostu zwraca ciąg "stawia"
proc return_puts {} {return puts}

# Zwracana wartość staje się poleceniem
[return_puts] [expr {1 + 1}]
# 2

Dodatkowo, ponieważ polecenia są tylko łańcuchami, wartościami zmiennymi mogą być polecenia lub całe linie.

# Przypisz ciąg "puts {to jest ciąg}" foo
set foo {puts {to jest ciąg}}

$ foo
# to jest ciąg

stawia $ foo
# puts {to jest ciąg}

Jak widać, Tcl jest bardzo elastyczny.

Samouczki Tcl

  • Oficjalny samouczek Tcl to najlepsze miejsce na rozpoczęcie;
  • Tcl Tutorial przeznaczony dla początkujących;
  • Tcl / Tk Tutorial w Tutorials Point jest bardzo metodyczny i zawiera internetowy tłumacz, dzięki czemu możesz od razu zacząć korzystać z Tcl;
  • TCLWISE to pierwsze dziewięć rozdziałów książki o języku, bezpłatnie dostępnych online;
  • Programowanie w Tcl to 29-częściowy kurs wideo z poczuciem humoru;
  • Tcl Tutref to poradnik i przewodnik mający być „drugą opinią” na temat oficjalnej dokumentacji Tcl;
  • Tcl dla nastolatków uczy młodych i młodych duchem, jak używać Tcl do tworzenia gier komputerowych;
  • Jeśli szukasz przeważnie pełnego kursu na temat Tcl, wypróbuj je na oficjalnej wiki Tcl:
    • Począwszy Tcl;
    • Pośredni Tcl;
    • Advanced Tcl.

Książki o Tcl / Tk

  • Praktyczne programowanie w Tcl i Tk (2003) autorstwa Welch i Jonesa to autorytatywny podręcznik na temat Tcl i Tk, z wystarczającą dogłębną obsługą, aby zadowolić nawet doświadczonych programistów pochodzących z innych języków;
  • Tcl / Tk, Second Edition: A Developer’s Guide (2003) autorstwa Clifa Flynta to bardzo praktyczna książka obejmująca zarówno język, jak i ekosystem programistyczny, ze szczególnym uwzględnieniem narzędzi, powszechnie używanych rozszerzeń i praktyk rozwojowych;
  • Tcl i Tk Toolkit (2009) autorstwa Oesterhout i Jonesa są ostatecznym przewodnikiem po języku, którego współautorem jest jego wynalazca;
  • Książka kucharska programowania Tcl / Tk 8.5 (2011) autorstwa Bert Wheeler zapewnia szereg praktycznych rozwiązań typowych problemów w programowaniu Tcl / Tk.

Tk – Zestaw narzędzi GUI dla Tcl

Istnieje wiele powodów, dla których Tcl stał się popularny, ale Tk jest prawdopodobnie najważniejszy. Tk jest skrótem od T.oolkto. Ułatwia tworzenie graficznych interfejsów użytkownika (GUI) za pomocą Tcl.

Tk zapewnia stosunkowo łatwy zestaw poleceń do generowania graficznego interfejsu użytkownika ze wszystkimi typowymi elementami pulpitu, których można się spodziewać: przyciski, pola wprowadzania, etykiety, różne typy selektorów, paski przewijania i tak dalej. Elementy te są określone w kodzie źródłowym wraz z kodem wykonywalnym, który zaczepia się w widżetach – na przykład, jaka funkcja powinna działać po naciśnięciu przycisku lub skąd pochodzi lista opcji menu wyboru. Chociaż składnia jest inna, będziesz zaznajomiony z tym procesem, jeśli kiedykolwiek pracowałeś z aplikacjami lub formularzami HTML / JS.

Tk został pierwotnie opracowany jako rozszerzenie Tcl, przez tę samą osobę, która wynalazła Tcl. Ale Tcl szybko stał się biblioteką wieloplatformową, dostępną dla programistów w kilkudziesięciu językach. Tk został wydany publicznie w 1991 roku, a moduł Tkinter Pythona został wydany w 1994 roku. PerlTk pojawił się wkrótce potem.

Przed wydaniem 8.5 Tcl / Tk istniał tylko jeden projekt wizualny kontrolujący wygląd tych elementów. Teraz istnieją motywy dla głównych systemów operacyjnych, dzięki czemu aplikacja wbudowana w Tk wygląda natywnie na platformie, na której działa.

Gdy Tk po raz pierwszy stał się dostępny, był to jeden z najłatwiejszych i najszybszych sposobów na uruchomienie aplikacji graficznego interfejsu użytkownika. Mimo że początkowo był dostępny tylko dla Tcl i Unix, wystartował, ponieważ był tak prosty w użyciu. Obecnie jest o wiele więcej opcji niż wtedy, ale Tk jest nadal jednym z najbardziej wydajnych sposobów szybkiego prototypowania i tworzenia aplikacji komputerowych.

Poradniki Tk

Kilka tutoriali Tcl wymienionych powyżej zawiera informacje na temat Tk. Poniżej skupiono się na tym.

  • Oficjalny samouczek dla początkujących to naprawdę świetne miejsce na rozpoczęcie; każdy krok zawiera próbki kodu dla Tcl, Ruby, Perl i Python;
  • Tworzenie GUI Używanie Tk z Tcl Język jest nieco lekceważącym samouczkiem przede wszystkim dla odbiorców z podstawową wiedzą programistyczną; ten sam autor napisał również samouczek Tk dla Perla.
  • Samouczek Ruby / Tk z RubyLearning.com jest dobrym miejscem na rozpoczęcie dla Rubyistów;
  • Implementacja Tk Pythona jest częścią standardowej biblioteki, a oficjalna dokumentacja Pythona zawiera pomocny samouczek;
  • Wprowadzenie do Tcl / Tk dla osób niebędących programistami to samouczek dotyczący Tcl i Tk, ale przy założeniu, że nie będziesz używać Tcl bez Tk.

Czy powinienem się nauczyć Tcl?

Tcl to świetny język. Osiągnął szczyt popularności, ale wciąż istnieje bardzo aktywna społeczność programistów i mnóstwo kodu Tcl na świecie, który potrzebuje opieki.

Co ważniejsze, naprawdę jest inaczej. Jeśli przeszedłeś z JavaScriptu na PHP na Ruby na Pythona, kontynuujesz bieżnikowanie bardzo podobnych podstaw koncepcyjnych. Uczysz się nowej składni i nowych słów kluczowych, ale tak naprawdę nie jest to nowy sposób myślenia.

Tcl jest jednym z kilku języków (takich jak Lisp i Erlang), który naprawdę zmusza cię do innego sposobu myślenia o tym, jak zaprojektować program. Nawet jeśli nie wykorzystasz go do żadnych rzeczywistych projektów, nadal warto poświęcić trochę czasu na naukę.

Dalsza lektura i zasoby

Mamy więcej przewodników, samouczków i infografik związanych z kodowaniem i programowaniem:

  • Przewodnik po Perlu i zasoby: Perl to kolejny potężny, ale bardziej tradycyjny język. Dowiedz się więcej.
  • Wprowadzenie do Pythona, zasoby i często zadawane pytania: zdobądź wszystkie potrzebne informacje na temat tego potężnego języka interpretowanego.
  • Wprowadzenie do Ruby on Rails: dowiedz się wszystkiego o tym popularnym języku programowania.

Jakiego kodu należy się nauczyć?

Mylisz się w jakim języku programowania powinieneś nauczyć się kodować? Sprawdź naszą infografikę, jakiego kodu powinieneś się nauczyć? Nie tylko omawia różne aspekty języków, ale także odpowiada na ważne pytania, takie jak: „Ile pieniędzy zarobię na programowanie Java na życie?”

Jakiego kodu powinieneś się nauczyć?
Jakiego kodu należy się nauczyć?

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map