
Кодинг на TCL
Xakep, номер #030, стр. 030-062-2
1) trim - удаление в начале/конце строки символов, присутствующих в другой строке
2) trimleft - снятие начальных строчных символов, находящихся в иной линии
3) trimright - смыв в конце линии значков, располагающихся в другом месте
4) length - длина строчки
5) tolower - преобразование "строка-символ"
6) toupper - перекручиваем в прописные
7) first - возвращение номера символа первого вхождения подстроки в строку
8) last - возврат № символа последнего захода подстроки в строку
Примеры, связанные с оператором string.
set xakep "It`s very c00l hacker";
string length $xakep;
В результате будет получена длина строки, заключенной в переменную $xakep.
Теперь расколупаем расположение заходов "er" в $xakep.
string first "er" $xakep;
string last "er" $xakep;
В первом случае будет получено число 7 (слово vERy - первое вхождение), во втором - 20 (слово hackER - последний вход).
Чтобы игнорировать регистр при сравнении используем:
string last "er" [string tolower $xakep];
Еще раз повторяю, что сначала сменится значение переменной $xakep в строчные буквы, а лишь затем произойдет проверка на вхождение.
Отбросив пробелы в начале и в конце (слышь, перец, он сказал "пробел в конце" =) ) строки, получим ее длину:
string length [string trim $xakep " "];
Числовые переменища
С числовыми переменными можно творить стандартные арифметические действия:
1) Сложение, умножение, деление, вычитание.
2) Инкреминация (увеличение на заданное число, а вовсе не дефекация, как ты подумал ;):
set xakep 9999;
incr xakep 5; # Увеличим значение на 5 (жалко, такое действие нельзя проводить с зачеткой). =)
3) expr - обычные математические действия, а также функции:
abs(x) - абсолютное значение (модуль),
round(x) - округление,
sin(x), cos(x), tan(x) - тригонометрические функции,
log(x), log10(x) - логарифмирование,
sqrt(x), pow(x,y) - извлечение корня и возведение в степень.
Примерная баланда:
set a 2;
set b [expr pow($a,3)];
puts $b;
Будет продемонстрировано число, соответствующее 2 в 3-ей степени, т.е. 8.
Подтираются переменные опером unset, например, unset $xakep.
Массивные массивы
Массивы задаются по шаблону имя (номер) значение. Взять хотя бы строку set massiv(0) test;
генерится одномерный массив с первым элементом "test".
Можно намутить номер элемента массива по его значению:
set massiv(test) 20; # поставит элемент с именем "test" на 20-е место.
Для уничтожения массива также юзается оператор unset.
Циклы и критические дни
Основные циклы: while и for.
Цикл while выполняется до тех пор, пока правильно условие цикла. Получаем:
set xakep 20;
while { xakep < 30 } {
puts "Выполняется цикл";
incr $xakep;
}
Цикл будет работать, пока значение переменной $xakep не подкормится до 30.
For делает установленное количество шагов, пока выполняется условие.
for { set xakep 10 } { $xakep < 30 } { incr xakep } { puts $xakep; }
Данный циклоп проводит счет от 10 до 30. Как ты уже догадался, сперва идет начальное значение циклической переменной, затем конечное, потом действие при каждом шаге цикла, а затем уже тело цикла.
Слово из трех букв, которого боятся мужчины