2016-07-22 17 views
1

so weit ich habe mit TCL 8.6, aber vor kurzem musste ich wieder auf 8,0 bewegen, weil das Programm, das ich nur 8.0 unterstütztWelche Befehle und Funktionen in TCL basiert auf der Version

bin mit nicht

Das Thema unterstützt ist, dass ich nicht eine Dokumentation oder einen Vergleich zwischen dem, was neue Befehle und Funktionen sind kompatibel und was nicht

gibt es Websites, die solche Informationen enthalten

// bitte beachten Sie, dass ich das tcl geprüft finden. tk Website und es bietet nur was ist neu pro Version, aber nicht so spezifisch

+1

Ich fühle deinen Schmerz. Von 2005 bis 2012 nutzte ich eine Datenbank mit eingebettetem tcl 8.0p2. Stellen Sie sicher, dass Sie ein Lesezeichen setzen http://www.tcl.tk/man/tcl8.0/TclCmd/contents.htm –

Antwort

2

This page und die Seiten, auf die es verweist, enthalten ziemlich detaillierte Informationen zu Befehls- und Syntaxänderungen. Sie müssen möglicherweise rückwärts suchen, um die erste Version zu finden, die die Funktion unterstützt, über die Sie sich Gedanken machen.

2

http://www.tcl.tk/man/ hat Links zur Dokumentation für Tcl-Befehle in verschiedenen Versionen von 7.5 bis 8.6, obwohl es 8.1 aus irgendeinem Grund überspringt.

+0

Es ist _really_ nicht zu empfehlen, 8.1 in der Produktion zu verwenden; Es hatte einige große Fehler, die erst am 8.2 behoben wurden. Es gab nicht so viele tatsächliche Befehlsänderungen von 8.0, aber die Art und Weise, wie viele Dinge funktionierten, hat sich sehr verändert (wie damals, als Tcl Unicode-Unterstützung erhielt). –

2

Nur Unterstützung 8.0? Das ist ziemlich alt. (Ich habe noch einige Systeme wie diese, aber sie sind wirklich nur auf Lebenserhaltung.)

Die zweitgültige Quelle von, was zwischen Versionen geändert hat, ist die changes Datei in irgendeiner Tcl Quellcodeverteilung. (Die erste genaueste Quelle ist der Vergleich des Quellcodes, aber das ist vor 8.1 aus verschiedenen unwichtigen Gründen ein wenig ärgerlich.) Sie können hierfür die current version verwenden, da diese alten Teile dieser Datei effektiv statisch sind; here's das Äquivalent für Tk. Die Datei enthält eine Menge mehr Informationen, als Sie wahrscheinlich benötigen, einschließlich der Erwähnung vieler der wichtigeren Bugfixes sowie einiger Fälle, in denen die Funktionalität während Betas etwas flatterte (wir versuchen dies zu vermeiden, aber es kommt gelegentlich vor).

jedoch die großen Dinge, die weit nach hinten ziemlich einfach sind, so können wir verengen wahrscheinlich die Dinge zu achten gilt dieser Big-Ticket-Artikel:

  • Expansion Syntax ({*}...) wurde in Tcl 8.5 eingeführt . Vorher verwenden Sie eval ein Los mehr.
  • Es gibt eine große Menge an Befehlen in modernen Tcl, die einfach nicht da waren. Es gibt Problemumgehungen für einige von diesen; Es ist einfacher, einfach zu versuchen, zu sehen, was eigentlich fehlt, was du erwartest, und dann fragst du es hier noch einmal, als zu versuchen, alle zu antizipieren. Einige bekannte Ausnahmen, die bekannt sind vollständig sein nicht verfügbar für 8.0:
    • Wörterbücher
    • Ensembles
    • Koroutinen
    • das TclOO Objektsystem
    • TTK-Widget gesetzt
  • Tcl 8.0 nahm an, dass Zeichen immer 8-Bit-Mengen waren, und unternahmen keinen Versuch, Codierungen zu verstehen. Es schleudert nur Bytes herum. (Dies bedeutet auch, dass der Befehl encoding nicht vorhanden war, und auch die Option -encoding zu fconfigure.)
    • Stellen Sie sicher, dass Sie nur ASCII in Ihren Skripten selbst verwenden. Spart Schmerzen.
  • Der RE-Motor in 8.0 unterschied sich von dem ab 8.1. Es ist viel einfacher und unterstützt nur einen Bruchteil dessen, was die neuere Engine macht.
  • Die Gewindeunterstützung in 8.0 und vorher ist nichts für schwache Nerven. Nehmen Sie an, Ihr Code ist single-threaded und vermeiden Sie eine Menge schwieriger Debugging.