Tcl - Verfahren
Prozeduren sind nichts anderes als Codeblöcke mit einer Reihe von Befehlen, die eine bestimmte wiederverwendbare Funktionalität bereitstellen. Es wird verwendet, um zu vermeiden, dass derselbe Code an mehreren Stellen wiederholt wird. Prozeduren entsprechen den in vielen Programmiersprachen verwendeten Funktionen und werden in Tcl mit Hilfe von zur Verfügung gestelltproc Befehl.
Die Syntax zum Erstellen einer einfachen Prozedur ist unten dargestellt:
proc procedureName {arguments} {
body
}
Ein einfaches Beispiel für die Vorgehensweise ist unten angegeben -
#!/usr/bin/tclsh
proc helloWorld {} {
puts "Hello, World!"
}
helloWorld
Wenn der obige Code ausgeführt wird, wird das folgende Ergebnis erzeugt:
Hello, World!
Prozeduren mit mehreren Argumenten
Ein Beispiel für eine Prozedur mit Argumenten ist unten gezeigt -
#!/usr/bin/tclsh
proc add {a b} {
return [expr $a+$b]
}
puts [add 10 30]
Wenn der obige Code ausgeführt wird, wird das folgende Ergebnis erzeugt:
40
Prozeduren mit variablen Argumenten
Ein Beispiel für eine Prozedur mit Argumenten ist unten gezeigt -
#!/usr/bin/tclsh
proc avg {numbers} {
set sum 0
foreach number $numbers {
set sum [expr $sum + $number]
}
set average [expr $sum/[llength $numbers]]
return $average
}
puts [avg {70 80 50 60}]
puts [avg {70 80 50 }]
Wenn der obige Code ausgeführt wird, wird das folgende Ergebnis erzeugt:
65
66
Prozeduren mit Standardargumenten
Standardargumente werden verwendet, um Standardwerte bereitzustellen, die verwendet werden können, wenn kein Wert angegeben wird. Ein Beispiel für eine Prozedur mit Standardargumenten, die manchmal als implizite Argumente bezeichnet wird, ist unten dargestellt.
#!/usr/bin/tclsh
proc add {a {b 100} } {
return [expr $a+$b]
}
puts [add 10 30]
puts [add 10]
Wenn der obige Code ausgeführt wird, wird das folgende Ergebnis erzeugt:
40
110
Rekursive Prozeduren
Ein Beispiel für rekursive Prozeduren ist unten dargestellt -
#!/usr/bin/tclsh
proc factorial {number} {
if {$number <= 1} {
return 1
}
return [expr $number * [factorial [expr $number - 1]]]
}
puts [factorial 3]
puts [factorial 5]
Wenn der obige Code ausgeführt wird, wird das folgende Ergebnis erzeugt:
6
120