Operacje na ciągach znaków

<< Kliknij, aby wyświetlić Spis treści >>

Nawigacja:  Dodatki > TCL > Wyrażenia >

Operacje na ciągach znaków

Tcl dopuszcza operacje na ciągach znakowych (napisach) w odniesieniu do niektórych operatorów, np.:

if {$x == "Warszawa"} {

        ...

    }

W tym przykładzie wartość zmiennej x jest porównywana z napisem "Warszawa", zawartość kodu warunkowego if zostanie wykonana wówczas, gdy obydwie wartości są identyczne.

Aby zapisać w skrypcie operand znakowy, należy albo umieścić go w cudzysłowie albo w nawiasach klamrowych, ewentualnie można użyć podstawienia zmiennej lub polecenia. Jeśli w powyższym przykładzie nawias klamrowy zostałby pominięty, argumentem if stałby się napis:

Zalesie Dolne == "Warszawa"

i wtedy interpreter wykazałby błąd składniowy przy słowie Zalesie.

Jeśli napis jest ujęty w cudzysłów, wewnątrz wykonywane są podstawienia zmiennej, polecenia i znaku \. Jeżeli natomiast napis jest zamknięty w nawias klamrowy, żadne podstawienia nie są wykonywane.

Operatorami wykonującymi działania na ciągach znakowych są: <, >, <=, >=, ==, !=. Co więcej, Tcl stosuje operacje na ciągach znakowych tylko wtedy, gdy jeden lub obydwa argumenty nie mogą być zinterpretowane jako liczby:

set x 0

    set y 00

    if {$x ==$y} {

        ...

    }

Tutaj zostanie wykonane porównanie arytmetyczne, którego wynikiem będzie 1.