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