2009-04-01 16 views
0

Ich habe herum gespielt in Erwartung vor kurzem und ich für das Leben von mir kann nicht herausfinden, wie man eine einfache Hinzufügung auf einer Variablen durchführt, die ich übergab. Wer weiß, wie man das macht? Gibt es auch eine anständige Online-Referenz für Expect? Ich habe versucht, mit sehr begrenzten Ergebnissen zu googeln.Erwarte Zusatz

+0

Ist das, worüber Sie sprechen: http://www.cotse.com/dlf/man/expect/bulletproof1.htm? –

+0

Ich weiß nicht, aus irgendeinem Grund ist diese Seite von meiner Arbeit blockiert. –

Antwort

10

Die Sache, an die man sich bei Expect erinnert, ist, dass es wirklich nur eine Erweiterung von Tcl ist. Wenn Sie also Hilfe beim Schreiben von Expect-Skripten suchen und Ihre Frage nicht mit einem der Expect-spezifischen Befehle zu tun hat, sollten Sie versuchen, hineinzuschauen die Tcl-Referenzen. Ein guter Startplatz ist http://www.tcl.tk, sowie http://wiki.tcl.tk.

Es gibt zwei Möglichkeiten zu tun, was Sie versuchen zu tun: incr und expr. incr kann verwendet werden, wenn Sie einer anderen Ganzzahl einen ganzzahligen Wert hinzufügen. Es ist sehr schnell für diesen Vorgang. Zum Beispiel:

set value 1 
incr value 

Allerdings funktioniert incr nicht mit nicht-ganzzahligen Werten, und es kann nicht alles andere als Zusatz tun (oder Subtraktion, wenn Sie die Schrittweite, wie in incr value -1 negieren). Wenn Sie etwas aufwändigere benötigen, sollten Sie expr verwenden:

set value 1 
set value [expr {$value + 1}] 

Beachten Sie die Verwendung von geschweiften Klammern um den Ausdruck! Obwohl sie für den korrekten Betrieb im Allgemeinen nicht erforderlich sind, verbessern sie die Leistung. Wenn Sie viele arithmetische Operationen durchführen, verbessert die Verwendung von Klammern um die Ausdrücke die Leistung Ihres Skripts erheblich. Weitere Informationen finden Sie unter http://wiki.tcl.tk/10225. Sie sollten sich angewöhnen immer Ihre Ausdrücke bei der Verwendung expr Bracing.

Sie können Links zu mehreren Expect-Ressourcen unter http://wiki.tcl.tk/201 finden.

0

Ich würde hier bei official website starten.

+0

würde ich, aber es gibt wirklich keine wirklichen Ressourcen dort, nur eine Empfehlung, das Buch Exploring Expect zu kaufen. –

+0

und eine ausgezeichnete Empfehlung es ist: es ist eines der am besten geschriebenen Programmierbücher herum –

0

Ahh, ok, ich es herausgefunden:

Set Zählung [expr $ count + 1]

Dies fügt 1 auf die Zählvariable.