2011-01-05 5 views
2

zu schreiben Ich lerne Tcl/Tk, und ich habe ein Tutorial zu einem Punkt, dass ich auf Tk verschieben. Alle Dateien im Tutorial verwenden sofort Tk-Befehle (wie "button"), ohne dass "package requiry Tk" in den .tcl-Dateien enthalten ist. Ich führe dies von der Konsole aus, die Benutzereingaben mit "%" vorne akzeptiert.Aufrufen von "Paket erfordern Tk" in Tcl ohne es in jeder .tcl-Dateien

Wenn die Tutorials nicht haben, dass "Paket Tk benötigen", fehle ich etwas? Wie können wir Tk haben, ohne "Paket Tk" in allen Dateien schreiben zu müssen, oder mache ich es falsch?

Antwort

4

Wenn Sie die Dateierweiterung zugeordnet haben .tcl mit der wish ausführbaren Datei (Modulo möglichen Erweiterungen und Versionsinformationen, natürlich), dann werden Sie effektiv ein package require Tk für Sie getan haben, bevor das Skript zu laufen beginnt. Dies wird nicht empfohlen als gute Praxis in modernen Code - bitte machen Sie Ihre Abhängigkeiten explizit - aber es funktioniert gut und viele Leute tun es.

Es wird nicht empfohlen, dass Sie die Angelegenheit erzwingen, indem Sie die Startskripte von Tcl bearbeiten. Schließlich gibt es Anwendungen, die Tcl ohne Tk verwenden.

+0

Verwenden Sie unter Unix nur eine geeignete '#!' - Zeile. –

+0

Ich verstehe. Also muss ich nur für .tcl, die tk benutzen, 'wünschen'. – Karl

+0

@unknownthreat: Ja. Das war früher sehr wichtig, während es jetzt gerade praktisch ist, da es Verbesserungen an der Tcl-Laufzeit gibt, die es Tk als normales Paket laden lassen. –

Verwandte Themen