Tcl — viegli lietojama multiplatformu skriptu programmēšanas valoda (Tcl/Tk)

Tcl/Tk — viegli lietojama, multiplatformu skriptu valoda ātrai prototipēšanai, C integrācijai un iegultām sistēmām; elastīga programmēšanas pieeja GUI un automatizācijai.

Autors: Leandro Alegsa

Tcl (izrunā kā "tickle" vai tee cee ell /ˈtiː siː ɛl/) jeb rīku komandu valoda ir augsta līmeņa programmēšanas valoda, kas paredzēta, lai būtu vienkārša lietošanā, elastīga un viegli ieguljama citos programmatūras projektos. Valodu 1980. gadu beigās izstrādāja Džons Ousterhauts (John Ousterhout) ar mērķi nodrošināt plūstošu, tekstu balstītu komandu skriptu valodu, kuras sintakse ir saprotama un ar kuru ātri izstrādāt prototipus vai kombinēt lielāku sistēmu komponentes.

Tcl pamatā ir komandas, kas datoram norāda, kas jādara vai kā saglabāt kādu mainīgo. Valodas dizains balstās uz vienkāršu, teksta-orientētu pieeju: teikums (command) ir pamatelements, katra komanda atgriež virkni (string), un datu apmaiņa starp komandām bieži notiek kā virknēs. Tcl var strādāt objektorientētā, imperatīvā, funkcionālā vai procedurālā stilā, un ir pieejami paplašinājumi un bibliotēkas, kas pievieno objektorientētas iespējas (piemēram, Itcl), drošas interpretācijas, datu struktūru paletes u.c.

Galvenās īpašības

  • Ļoti maza un viegli ieguljama – Tcl kodu var pievienot kā skriptu dzinēju lielākām C/C++ programmām vai izmantot kā neatkarīgu interpretatoru (tclsh).
  • Interpretēta un dinamiska – mainīgie un datu tipi tiek apstrādāti elastīgi, kas atvieglo ātru izstrādi un prototipēšanu.
  • Bagātīga paplašinājumu ekosistēma – pieejamas bibliotēkas (piem., Tcllib), pakotņu krātuves (Tcllib, teapot) un rīki, kas paplašina valodas iespējas.
  • Drošības režīmi un "safe interpreters" – noderīgi, ja jāizpilda neop-certificēts skripts izolētā vidē.
  • Bytecode kompilācija – daudzas Tcl versijas nodrošina ātru izpildi, izmantojot iekšēju kompilatoru uz starpkoda līmeņa.

Iegulšana, pārnēsājamība un lietojumi

Tcl tiek daudz izmantots C, lai ātri izveidotu prototipus. Tā kā daudzām operētājsistēmām ir pieejami tulkojumi, Tcl kodu var palaist uz daudziem dažādiem datoriem bez vai ar minimālām pārveidēm. Valodas kodols ir kompakts, tāpēc Tcl bieži izmanto arī iegultās sistēmās un rīkos ar ierobežotiem resursiem.

Praktiskos pielietojumos Tcl izmanto kā skriptu un "glue" valodu: automatizācijai, testēšanai (piem., ar rīku Expect), konfigurācijas pārvaldībai, tīkla iekārtu skriptu izstrādei, EDA (elektronikas projektēšanas automatizācijā) un citur. Populārs piemērs ir Expect – papildinājums, kas ļauj vadīt un automatizēt interaktīvas komandas līnijas seansus.

Tcl/Tk un grafiskās saskarnes

Tcl dažkārt tiek kombinēts ar Tk — vieglu GUI rīkkopu, un šādos gadījumos to bieži sauc par Tcl/Tk. Tk nodrošina logu, pogu, izvēlnes, tekstlodziņus un citus vadīklas elementus, kas padara Tcl par ātru līdzekli skriptu bāzētu darbstaciju un nelielu lietotņu izstrādē. Tcl/Tk ir daļa no parastās Python instalācijas caur modulim, kas to sasaista (piem., Tkinter), tāpēc daudzas Python instalācijas iekļauj arī iespēju veidot grafiskās lietotnes, izmantojot Tcl/Tk bibliotēkas.

Rīki un vides

  • tclsh — komandrindas interpretators Tcl skriptiem.
  • wish — Tcl interpretators ar Tk, kas ļauj palaist grafiskās lietotnes.
  • Bibliotēkas un rīku komplekti: Tcllib, TclX, Itcl (objektorientētam programmēšanai), Safe interpreters, un citi paplašinājumi.

Kāpēc izvēlēties Tcl?

Tcl ir laba izvēle, ja nepieciešama viegli saprotama, ātri skriptējama valoda ar mazu izmēru, ko var ērti iegult lielākos projektos vai izmantot starpslāņa (glue) lomu. Tā ir īpaši noderīga ātrai prototipēšanai, automatizācijai un situācijās, kur svarīga pārnēsājamība starp operētājsistēmām.

Īss piemērs

# Vienkāršs Tcl piemērs — mainīgā piešķiršana un izvadīšana set vārds "Sveiks, pasaule!" puts $vārds 

Ja vēlaties dziļāk iepazīties ar Tcl, meklējiet oficiālo dokumentāciju un mācību materiālus, kā arī kopienas resursus un piemērus. Tcl aktīvi tiek uzturēta un tai ir stabila kopiena, kas veido paplašinājumus un dalās ar gatavām bibliotēkām.

Vēsture

Tcl radīja Džons Ousterhauts Kalifornijas Universitātē, Bērklijā. Par Tcl/Tk izveidi Ousterhout 1997. gadā saņēma ACM programmatūras sistēmas balvu.

Safe-Tcl ir Tcl forma, kurā ir izslēgtas noteiktas daļas, lai tā nevarētu kaitēt datoram, kurā tā darbojas. Nathaniels Borenstein un Marshall Rose izveidoja Safe-Tcl. Safe-Tcl var darboties tikai ar dažiem failiem, tostarp e-pasta ziņojumiem.

Piemēri

Tcl programmēšanā tukšs baltais laukums atdala vārdus. Komandas tiek pārtrauktas, pārejot uz jaunu rindu vai ar semikolu:

word0 word1 word2 ... wordN

Pirmais vārds vienmēr ir komanda, kas nāk no Tcl bibliotēkas:

commandName arg1 arg2 ... argN

Piemēram, komands puts liek datoram kaut ko parādīt:

liek "Sveiks, Pasaule!"

Šajā piemērā "Hello, World!" sauc par virkni. Tcl pievieno īpašu rakstzīmi, kas nav redzama rindas beigās. Šī rakstzīme norāda datoram, ka pēc komandas pabeigšanas jāaiziet uz jaunu rindu.

Tcl spēj veikt matemātiskas un daudzas citas darbības, izmantojot mainīgos. Lai izmantotu mainīgo, programmētājam ir jānosaka tā vērtība:

iestatīt mainīgoA 1 iestatīt mainīgoB 2

Pēc mainīgā lieluma iestatīšanas to var izmantot citās programmas daļās vai iestatīt uz citu lielumu. Mainīgos var izmantot, lai veiktu matemātiskus aprēķinus:

set x 2 set y 4 set ans [expr $x+$y] puts "Atbilde ir $ans." # Dators parādītu: "Atbilde ir 6."

Komanda expr liek datoram atrisināt "izteiksmi" jeb, šajā gadījumā, vienādojumu.

Vieglas komandas

  • komplekts saglabā skaitļus, vārdus vai burtus mainīgajā. To var arī izmantot, lai mainītu mainīgajā esošos datus.
  • proc norāda datoram, ko veiks jaunā komanda (procedūra).
  • if norāda datoram, ka rakstītais jādara tikai tad, ja kaut kas ir taisnība.
  • while liek datoram darīt to, kas rakstīts, ja vien kaut kas ir patiess.
  • foreach norāda datoram, lai katram mainīgo sarakstā esošajam elementam kaut kas tiek darīts.
  • break aptur komandas izpildi. Šo funkciju var izmantot, lai izkļūtu no cilpas.
  • continue aptur aktīvo komandu, bet ļauj turpināt ciklu. Ja cilpa ir while cilpa, tā sāksies no jauna. Tas ļaus foreach un for pāriet uz nākamo programmas soli.
  • return aptur aktīvo komandu un cilpu, pēc tam atgriežas procedūrā ar vērtību.

Saistītās lapas

  • Eggdrop
  • TclX
  • Programmēšanas valodu saraksts

Iestādes kontrole Edit this at Wikidata

Jautājumi un atbildes

J: Kas ir Tcl?


A: Tcl (izrunā "tickle" jeb tee cee ell /ˈtiː siː ɛl/) ir augsta līmeņa programmēšanas valoda, ko var izmantot daudzām lietām. Tā tika radīta tā, lai būtu viegli lietojama, bet spētu veikt daudzus uzdevumus.

J: Uz kāda veida valodas ir balstīta Tcl?


A: Tcl valodas pamatā ir komandas, kas datoram norāda, kas jādara vai kā saglabāt kādu mainīgo. Tā var strādāt objektorientētā, imperatīvā, funkcionālā vai procedurālā stilā.

J: Kā Tcl tiek izmantots C valodā?


A: Tcl tiek daudz izmantots C, lai ātri izveidotu prototipus.

J: Vai ir pieejams interpretētājs dažādām operētājsistēmām?


A: Jā, tulki ir pieejami daudzām operētājsistēmām, tāpēc Tcl kodu var palaist uz daudziem dažādiem datoriem.

J: Kāpēc tas ir noderīgs iegultajām sistēmām?


A: Tcl ir ļoti maza valoda, un tas nozīmē, ka tā ir piemērota iegultajām sistēmām.

J: Ko nozīmē akronīms "Tk"?


A: Akronīms "Tk" apzīmē rīku komandvalodu.

J: Vai Tk ir daļa no parastās Python instalācijas? A: Jā, apvienojumā ar Tk to sauc par "Tcl/Tk", un tā ir daļa no parastās Python instalācijas.


Meklēt
AlegsaOnline.com - 2020 / 2025 - License CC3