Tcl

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
Notă despre dezambiguizare.svg Dezambiguizare - Dacă căutați alte semnificații, consultați TCL .
Tcl
limbaj de programare
Tcl-powered.svg
Autor John Ousterhout
Data de origine 1988
Ultima versiune 8.6.9 (16 noiembrie 2018) și 8.7a1 (8 septembrie 2017)
Paradigme programare multi-paradigmă, programare orientată obiect, programare procedurală , programare imperativă , programare funcțională și programare de evenimente
Tastare slab
Extensii comune .tcl și .tbc
Influențată de Awk and Lisp
A influențat PHP , PowerShell și Tea
Implementare referință
Licență Licență BSD
Site-ul web www.tcl.tk

În informatică , TCL (acronim pentru Tool command language ) este un limbaj de scriptare creat de John Ousterhout considerat în general ușor de învățat (comparativ cu limbile generației sale), dar în același timp puternic. Este folosit în mod obișnuit pentru a prototipa rapid și a testa aplicații interpretate , inclusiv cele cu o interfață grafică . Pronunția sugerată pentru acronimul TCL este „gâdilă”.

Caracteristici

Caracteristicile limbajului TCL includ:

  • Orice este o comandă, inclusiv structuri de limbaj. Aceștia din urmă folosesc notația poloneză numită și notație prefix .
  • Orice poate fi redefinit dinamic sau suprascris.
  • Toate tipurile de date pot fi manipulate ca șiruri, inclusiv cod.
  • Folosește reguli sintactice extrem de simple.
  • Are o interfață bazată pe evenimente pentru socket-uri și fișiere .
  • Extensibil cu ușurință printr-un API care vă permite să legați obiecte scrise în C , C ++ , REXX și Java la interpret.
  • Suport complet Unicode din 1999.
  • Platforma independenta. Interpretul a fost deja portat pe Win32 , Unix , Mac și altele.
  • Integrare bună cu sistemul de ferestre datorită extensiei Tk.

Exemple

Pentru o lume Hello codul este

 pune „Hello World!”

Exemplu de cod simplu:

 pune „dă-mi un număr”
 primește numărul stdin
 pune „Pătratul este [expr {$ number * $ number}]”

Un alt exemplu de stil funcțional:

 filtru proc { list script } {
   setează res {}
   foreach și $ list {
     dacă {[uplevel 1 $ script $ e ]} {
       lappend res $ e
     }
   }
   setează rez
 }

Elementul e este inclus în lista de listă ? Dacă da, returnează 1, altfel 0.

 
 proc în { list e } {
   expr {[ lsearch - exact $ list $ e ] > = 0 }
 }

Elemente comune ale două liste, adică intersecție împreună:

 % filter { a bc } { în { b cd }}
 b c

Tk

Extensia Tk este un set de instrumente pentru scrierea GUI (un set de instrumente widget ) implementat chiar de autorul TCL. De asemenea, poate fi utilizat în combinație cu alte limbi, cum ar fi Perl , Python , Ruby , Lisp și altele, și a fost portat pe diverse platforme, cum ar fi GNU / Linux , Apple Macintosh , Unix și Windows .

Exemplul Tk, un ceas numeric în trei rânduri:

 proc fiecare { ms body } {eval $ body ; după $ ms [ nivel de informații 0 ]}
 pachet [ etichetă .clock - textvar time ]
 la fiecare 1000 {set :: time [ format ceas [ ceas sec ] - format % H: % M: % S ]}

Elemente conexe

Alte proiecte

linkuri externe

Controlul autorității LCCN (EN) sh94000154 · GND (DE) 4361529-6
Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT