Budowanie procedur: proc i return

<< 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.