Als nächstes schreiben Sie einen Beispiel mit mehr Funktionalität. Es geht um ein kleines Programm, das die übergebenen Parameter in der Konsole ausgibt. Dazu erstellen Sie eine Datei mit folgendem Inhalt (echo.py):
import sys
count = 1
for arg in sys.argv[1:]:
print 'Argument %i=%s' % (count, arg)
count += 1
Dieses Beispiel verrät einige Schlüsseleigenschaften von Jython. Als erstes merken Sie, dass jede Zeile gleichzeitig auch ein Statement ist (Semikolon am Ende der Zeile zur Abgrenzung der Statements wird nicht benötigt). Und die Variablen müssen vorher nicht deklariert werden.
Sie haben gesehen, dass die übergebenen Parameter über die eingebaute Eigenschaft sys.argv - ein String-Array - abgerufen werden können. sys ist ein Standardmodul, das nützliche Werte und Funktionen enthält. Es gibt darüber hinaus noch viel mehr Standardmodule. Das erste Element aus dem Array argv(0) ist der Name der Datei. In diesem Beispiel erhält es 'echo.py'. Um das Element auszulassen, fangen Sie mit dem zweiten Array Element an. Sie starten an der Position 1 (sys.argv[1:]) und gehen dann die restlichen Elemente des Arrays bis zum Ende durch.
Die Schleife ist mit dem for-Statement realisiert. Der Rumpf der Schleife besteht aus den Zeilen, die nach der Zeile mit for-Statement eingerückt sind. Der Befehl print zeigt, wie Jython mit der Formatierung der Zeichenketten umgeht. Es ist gut vergleichbar mit dem printf-Befehl in C/C++ und dem print-Befehl in Java 1.5.
Aber das vorherige Beispiel kann noch kürzer geschrieben werden:
from sys import argv
for i in range(1, len(argv)):
print 'Argument %i=%s' % (i, argv[i])
In diesem Fall nutzen Sie die Anzahl der Argumente im Array, um die Anzahl der Schleifendurchläufe mit dem Befehl range zu bestimmen. Da die Variable argv direkt importiert wurde, entfällt hier die Deklaration und Initialisierung. Achten Sie auch darauf, dass die Länge des Arrays durch die Funktion len() und nicht durch eine Klassenmethode geliefert wird. Das ist Jython Dialekt und ist auch üblich in anderen Sprachen. Es gibt viele anderen Funktionen, die Ihnen im Stanard zur Verfügung stehen.