Tcl

Tcl
programmeringsspråk
ForfatterJohn Ousterhout
Opprinnelsesdato1988
Siste versjon8.6.12 (5. november 2021)
Paradigmermulti-paradigme programmering, objektorientert programmering , prosedyreprogrammering , imperativ programmering , funksjonell programmering og hendelsesprogrammering
Skrivingsvak
Vanlige utvidelser.tcl og .tbc
Påvirket avAwk og Lisp
Det påvirketPHP , PowerShell og Tea
Referanseimplementering
TillatelseBSD-lisens
Nettstedtcl.tk

I informatikk er TCL (akronym for Tool command language ) et skriptspråk skapt av John Ousterhout generelt ansett som lett å lære (sammenlignet med språkene i hans generasjon), men samtidig kraftig. Det brukes ofte til å raskt prototype og teste tolkede applikasjoner , inkludert de med et grafisk grensesnitt . Den foreslåtte uttalen for akronymet TCL er "kile".

Funksjoner

Kjennetegn på TCL-språket inkluderer:

Eksempler

For en hei verden er koden

setter "Hello World!"

Enkelt kodeeksempel:

setter "gi meg et tall" får stdin- nummer setter "Firkanten er [uttr {$ tall * $ tall}]"

Et annet eksempel på funksjonell stil:

proc filter { listeskript } { _ sett res {} foreach og $ list { if {[univå 1 $ script $ e ]} { lappend res $ e } } set res }

Er elementet e inkludert i listelisten ? Hvis ja, returnerer den 1, ellers 0.

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

Vanlige elementer av to lister, dvs. sammen skjæringspunktet:

% filter { a b c } { i { b c d }} b c

Tk

Tk -utvidelsen er et sett med verktøy for å skrive GUI (en widget - verktøysett ) implementert av TCL-forfatteren selv. Den kan også brukes i kombinasjon med andre språk som Perl , Python , Ruby , Lisp og andre, og har blitt portert til ulike plattformer som GNU / Linux , Apple Macintosh , Unix og Windows .

Eksempel Tk, en numerisk klokke i tre linjer:

proc every { ms body } {eval $ body ; after $ ms [ info level 0 ]} pack [ label .clock - textvar time ] hver 1000 {sett :: tid [ klokkeformat [ klokke sek ] - format % H: % M: % S ] }

Relaterte elementer

Andre prosjekter

Eksterne lenker