2017-11-02 5 views
0

Ich habe ein Tcl-Skript, das ich geschrieben habe genannt perm.tcl Ich versuche, dieses Skript auf einem Windows-Computer auszuführen.Das Ausführen eines tcl-Skripts öffnet ein leeres ActiveTcl-Fenster

package require Tk 

proc invert list { 
    set length [llength $list] 
    return $length 
} 

invert {1 2 3 4} 

Jedes Mal, wenn ich versuche, diesen Code in einer Eingabeaufforderung auszuführen

tclsh perm.tcl 

ein leeres activetcl Fenster mit öffnet ohne Text oder irgendetwas dem Titel "perm". In diesem Fall sollte es einfach die Zahl 4 ausgeben, aber ich bekomme nur ein kleines ausgegrautes Fenster. Ich weiß, dass dieses Verfahren funktioniert, denn wenn ich es mühsam in der tclsh-Eingabeaufforderung schreibe, bekomme ich das gewünschte Ergebnis von 4. Bitte helfen

Antwort

1

Es ist, weil Sie das Tk-Paket importieren. Wenn Sie das tun, wird automatisch ein Fenster erstellt. Wenn Sie keine Fenster möchten, importieren Sie nicht Tk.

+0

Wenn ich die Zeile nehme, die das Tk-Paket benötigt, bekomme ich keine Ausgabe, es scheint nur das Programm auszuführen und nichts auszudrucken und dann zur Eingabe eines anderen Befehls aufzufordern – Zac

+0

@Zac: Warum würden Sie erwarten, Ausgabe zu erhalten? Sie drucken nichts aus. Wenn Sie die Ausgabe sehen möchten, müssen Sie eine Ausgabe erstellen. Zum Beispiel, puts [invert {1 2 3 4}] '. –

+0

Danke! Ich bin extrem neu in der tcl Sprache! – Zac

Verwandte Themen