tclAan de slag met tcl


Opmerkingen

Tcl is een platformonafhankelijke taal met volledige ondersteuning voor Unicode.

Flexibiliteit: herdefinieer of verbeter bestaande opdrachten of schrijf nieuwe opdrachten.

Gebeurtenisgestuurde programmering: gebeurtenisgestuurde I / O en variabele tracering.

Bibliotheekinterface: het is heel gemakkelijk om bestaande C-bibliotheken in Tcl te integreren en een Tcl-interface naar de C-bibliotheek te bieden. Deze interface "stubs" zijn niet gebonden aan een bepaalde versie van Tcl en zullen blijven werken, zelfs na het upgraden van Tcl.

Tcl-interface: Tcl biedt een complete API, zodat u de Tcl-interpreter vanuit uw C / Python / Ruby / Java / R-programma kunt gebruiken.

versies

Versie Notes Publicatiedatum
8.6.6 Huidige patch release. 2016/07/27
8.6.5 2016/02/29
8.6.4 2015/03/12
8.6.3 2014/11/12
8.6.2 2014/08/27
8.6.1 2013/09/20
8.6.0 Huidige aanbevolen versiereeks voor nieuwe code. Geïntroduceerd objectsysteem en niet-recursieve uitvoeringsengine. 2013/09/20
8.5.19 Huidige LTS-release 2016/02/12
8.5.18 2015/03/06
8.5.17 2014/10/25
8.5.16 2014/08/25
8.5.15 2013/09/18
8.5.14 2013/04/03
8.5.13 2012/11/12
8.5.12 2012-07-27
8.5.11 2011-11-04
8.5.10 2011-06-24
8.5.9 2010-09-08
8.5.8 2009-11-16
8.5.7 2009-04-15
8.5.6 2008-12-23
8.5.5 2008-10-15
8.5.4 2008-08-15
8.5.3 2008-06-30
8.5.2 2008-03-28
8.5.1 2008-02-05
8.5.0 Huidige oudste ondersteunde versie. Introductie van uitbreidingssyntaxis, woordenboeken en ensembleopdrachten. 2007-12-20
8.4.20 Laatste release van de 8.4-serie. Er komen geen verdere releases van 8.4 uit. 2013/06/01
8.4.19 2008-04-18
8.4.18 2008-02-08
8.4.17 2008-01-04
8.4.16 2007-09-21
8.4.15 2007-05-25
8.4.14 2006-10-19
8.4.13 2006-04-19
8.4.12 2005-12-03
8.4.11 2005-06-28
8.4.10 2005-06-04
8.4.9 2004-12-07
8.4.8 2004-11-22
8.4.7 2004-07-25
8.4.6 2004-03-01
8.4.5 2003-11-24
8.4.4 2003/07/22
8.4.3 2003/05/19
8.4.2 2003-03-03
8.4.1 2002/10/22
8.4.0 Eerste release door Tcl Core Team. Veel prestatieverbeteringen. Verbeterde 64-bit ondersteuning. 2002/09/18
8.3.5 2002/10/18
8.3.4 2001/10/19
8.3.3 2001/04/06
8.3.2 2000/08/09
8.3.1 2000/04/26
8.3.0 Prestatieverbeteringen. 2000/02/10
8.2 Stabilisatie release 1999/08/18
8.1 Introductie van Unicode-ondersteuning. 1999/04/30
8.0 Geïntroduceerd bytecode compilatie-engine 1997/08/16

Kenmerken van Tcl

  • Cross-platform draagbaarheid
    • Werkt op Windows, Mac OS X, Linux en vrijwel elke variant van Unix.
  • Evenementgestuurd programmeren
    • Activeer gebeurtenissen op basis van variabele lezen / schrijven / uitschakelen.
    • Activeer gebeurtenissen wanneer een opdracht wordt ingevoerd of verlaten.
    • Activeer gebeurtenissen wanneer een I / O-kanaal (bestand of netwerk) leesbaar / schrijfbaar wordt.
    • Maak je eigen evenementen.
    • Activeer een opdracht op basis van een timer.
  • Object georiënteerd programmeren
    • Mixins.
    • Superclasses en subclasses.
  • Eenvoudige grammatica
  • Volledige ondersteuning voor Unicode
    • Het werkt gewoon. Er zijn geen speciale opdrachten nodig om Unicode-tekenreeksen te verwerken.
    • Converteer gemakkelijk van en naar verschillende coderingssystemen.
  • Flexibel
    • Maak nieuwe besturingsstructuren en opdrachten.
    • Toegang tot variabelen in de context van de aanroepprocedure.
    • Voer code uit in de context van de aanroepprocedure.
  • Krachtige introspectie mogelijkheden.
    • Veel Tcl-debuggers zijn geschreven in Tcl.
  • Bibliotheek interface
    • Integreer bestaande C-bibliotheken en zorg voor een Tcl-interface naar de bibliotheek.
    • Bibliotheek "stubs" zijn niet gebonden aan een bepaalde versie van Tcl en zullen nog steeds werken na een Tcl-upgrade.
  • Volledige API
    • Sluit een Tcl-tolk in uw favoriete taal in.
    • Python, Ruby, R, Java en anderen bevatten een Tcl API.
  • Ingebouwde bigint-bibliotheek.
    • Er zijn geen speciale acties nodig om zeer grote cijfers te verwerken.
  • Veilige tolken
    • Maak sandboxen waarin gebruikerscode kan worden uitgevoerd.
    • Schakel specifieke opdrachten voor de tolk in en uit.
  • Normale uitdrukkingen
    • Een krachtige en snelle reguliere expressie-engine geschreven door Henry Spencer (maker van regex).

Installatie

Tcl 8.6.4 installeren op Windows :

  1. De eenvoudigste manier om Tcl op een Windows-computer te krijgen, is door de ActiveTcl- distributie vanuit ActiveState te installeren.

  2. Navigeer naar www.activestate.com en volg de links om de gratis Community-editie van ActiveTcl voor Windows te downloaden (kies de juiste 32/64 bit-versie).

  3. Voer het installatieprogramma uit, wat resulteert in een nieuwe installatie van ActiveTcl, meestal in de map C: \ Tcl .

  4. Open een opdrachtprompt om de installatie te testen, typ "tclsh" om een interactieve tcl-console te openen. Voer "info patchlevel" in om de geïnstalleerde versie van tcl te controleren en deze zou een uitvoer van het formulier "8.6.x" moeten weergeven, afhankelijk van de versie van ActiveTcl die is gedownload.

  • Misschien wilt u ook "C: \ Tcl \ bin" toevoegen of het equivalent daarvan aan uw omgevingsvariabele PATH .
C:\>tclsh
% info patchlevel
8.6.4
 

Pakketten installeren via theekopje

Tegenwoordig ondersteunen veel talen archiefservers om hun pakketten op uw lokale machine te installeren. TCL heeft ook dezelfde archiefserver die we Teacup noemden

teacup version
teacup search <packageName>

Voorbeeld

teacup install Expect

Het Hallo, wereldprogramma in Tcl (en Tk)

De volgende code kan worden ingevoerd in een Tcl-shell ( tclsh ) of in een scriptbestand en door een Tcl-shell worden uitgevoerd:

puts "Hello, world!"
 

Het geeft het stringargument Hello, world! naar de opdracht puts . De opdracht puts schrijft zijn argument naar standaard out (uw terminal in interactieve modus) en voegt daarna een nieuwe regel toe.


In een Tk-compatibele shell kan deze variatie worden gebruikt:

pack [button .b -text "Hello, world!" -command exit]
 

Het maakt een grafische knop met de tekst Hello, world! en voegt het toe aan het toepassingsvenster. Wanneer ingedrukt, wordt de toepassing afgesloten.

Een voor Tk geschikte shell wordt gestart als: wish Of het gebruik van tclsh samen met de volgende instructie:

package require Tk