|
<< Kliknij, aby wyświetlić Spis treści >> Nawigacja: Dodatki > TCL > Procedury > Budowanie procedur: proc i return |
Procedury są tworzone przy użyciu polecenia proc:
proc plus {a b} {expr $a+$b}
Pierwszy argument polecenia proc to nazwa procedury która ma zostać utworzona, w powyższym przykładzie plus. Drugi argument to lista argumentów procedury (w przykładzie a i b). Trzecim argumentem proc jest skrypt Tcl, który utworzy ciało procedury. Po wykonaniu polecenia proc powstaje nowe polecenie, plus, które można wywoływać tak samo jak wszystkie inne polecenia Tcl:
plus 3 4
7
plus 3 –1
2
Należy zdać sobie sprawę, że plus stało się zwyczajnym poleceniem Tcl. Nie jest deklaracją o specjalnej składni, tak jak w innych językach, np. w C. Podobnie, argumenty polecenia proc są przetwarzane w identyczny sposób jak we wszystkich innych poleceniach, proc nie jest tu żadnym wyjątkiem.
Można spowodować wcześniejsze opuszczenie procedury, bez wykonywania całego jej skryptu korzystając z polecenia return: powoduje ono natychmiastowe zaprzestanie wykonania procedury i zwrócenie wyniku równego swojemu argumentowi:
proc fac x {
if {$x <= 1} {
return 1
}
expr $x * [fac [expr $x-1]]
}
fac 4
24
fac 0
1
Jeśli argument fac jest mniejszy bądź równy jedności, fac wywołuje return aby natychmiast wyjść z procedury. W przeciwnym wypadku wykonuje polecenie expr, a ponieważ jest to ostatnie polecenie wewnątrz procedury, jego wynik staje się wynikiem procedury.