Incr Tcl

Incr TCL (ITCL) er den første af de objektorienterede udvidelser til TCL -sproget . Delvist implementeret i C -sprog . Med dens brug skrives biblioteket af grafiske widgets incr Widgets (iWidgets). Navnet på denne udvidelse er en slags "oversættelse" af C++- navnet til Tcl-sproget , incr -kommandoen , ligesom ++- operationen , øger dets argument med 1.

Sammen med XOtcl og SNIT er det en af ​​de tre mest populære objektorienterede Tcl-udvidelser [1] .

Kommandoer

ITCL - definerer følgende kommandoer:

Et eksempel på klassedefinition

Som et eksempel er der givet en objektindpakning over Tcl-tekstfiler. Viser brugen af ​​konfiguratorer.

klasse fil { # beskriv og sæt startværdier # af lokale variabler private variabel fid "" offentlig variabel navn "" offentlig variabel adgang "r" # define constructor og destructor constructor { args } { eval configure $args # configure aktiverer konfiguratorer } destructor { if { $fid != "" } { luk $fid } } #describe class methods metode{} metode put { line } metode eof {} } # definere metodelegemer body File::get {} { returner [ får $fid ] } body File::put { line } { sætter $fid $line } body File::eof {} { returner [ :: eof $fid ] } # definer konfigurator for # globalt variabelnavn # konfigurator for adgang er ikke oprettet configbody File::name { if { $fid != "" } { luk $fid } sæt fid [ åben $name $access ] } # # File-klassen i aktion: # # opret et File x -objekt #configure dens navn x configure - name / etc / passwd #viser indholdet af filen, linje for linje, mens { ! [ xeof ] } { sætter "=> [x get]" } #delete objekt slet objekt x

De forskellige medlemmer af en klasse er beskrevet med følgende kommandoer, der er tilgængelige i klassedefinitionen: constructor , destructor , method , proc (i modsætning til en metode er ikke nedarvet), variabel , almindelig (ligner statisk i C++), offentlig , beskyttet , privat , sæt og array . Nedarvning indstilles med kommandoen nedarv . Multipel arv er tilladt. Alle metoder er virtuelle. Når du definerer en klasse, kan du bruge metaprogrammeringsteknikker , for eksempel til at definere flere lokale variable i en loop, sammen med sæt og få adgangskoder til dem [3] .

Sammensatte kommandoer

Et sammensat hold (eller ensemble) er defineret som:

ensemble name comp kommando arg arg ...

eller

ensemble navnesammensætning { delnavnDele argumenter krop ensemblenavnSubConst { _ _ delnavnUnderdele argumenter body } } _

Tcl-ensembler er en praktisk syntaktisk tilføjelse til standard Tcl- navneområde-ensemble -mekanismen . Denne mekanisme giver dig mulighed for at gruppere flere kommandoer i ét navneområde - et ensemble. Kald kommandoen - en del af ensemblet ser sådan ud:

nameConst nameParts argumenter

Der kan være et hvilket som helst antal ensemblekonstruktioner med samme navn, alle de dele, der er defineret i dem, vil blive inkluderet i det samme ensemble [4] .

Links

Se også

Noter

  1. Clif Flynt. Ch. 9. Grundlæggende objektorienteret programmering i Tcl // Tcl/Tk: En udviklervejledning. — 3. udgave. - Elsevier, 2012. - S. 263. - 792 s. — ISBN 978-0-12-384717-1 .
  2. se man itcl:: omfang for implementeringsdetaljer Arkiveret 2007-02-20 på Wayback Machine
  3. se Automatiske get/set-metoder for en itcl-klasse Arkiveret 7. oktober 2007 på Wayback Machine
  4. naturlig navnerumsadfærd

Litteratur

  • Chad Smith. Incr Tcl/Tk fra bunden. - Osborne / McGraw-Hill, 2000. - 746 s. — ISBN 0-07-212106-8 .
  • Clif Flynt. 17.1 [incr Tcl] // Tcl/Tk: En udviklervejledning . - Elsevier, 2012. - S. 667-670. — 817 s. — ISBN 9780123847188 .