Таблица 1. Использование обратной косой черты для представления символов
| \a | Звуковой сигнал (0x7) |
| \b | Возврат (0x8) |
| \f | Перевод страницы (0xc) |
| \n | Перевод строки (0xa) |
| \r | Возврат каретки (0xd) |
| \t | Табуляция (0x9) |
| \v | Вертикальная табуляция (0xb) |
| \<перевод строки> | Замена символов перевода строки и всех пробелов в начале следующей строки одним пробелом |
| \\ | Обратная косая черта (’\’) |
| \ooo | Символ, заданный восьмеричным числом. После обратной косой черты могут следовать одна, две или три восьмеричные цифры (0–7). |
| \xhh | Символ, заданный шестнадцатеричным числом. После \x могут следовать одна или две шестнадцатеричные цифры. Используя данное обозначение, надо соблюдать осторожность, так как преобразуются все шестнадцатеричные цифры, расположенные после \x, но учитываются только две последние |
| \uhhhh | Символ в формате Unicode (16 битов), заданный с помощью четырех шестнадцатеричных цифр |
| \c | Если символ c не указан в данной таблице, то данное выражение заменяется литеральным значением c. Например, последовательности \$, \«, \{, \}, \] и \[ используются для отмены специальных значений соответствующих символов |
Таблица 1.2. Арифметические операции (приводятся по убыванию приоритета)
| — ~ ! | Унарный минус, побитовое отрицание, логическое отрицание |
| * / % | Умножение, деление, остаток от деления |
| + — | Сложение, вычитание |
| << >> | Сдвиг влево, сдвиг вправо |
| < > <= >= | Сравнение: меньше, больше, меньше или равно, больше или равно |
| == != | eq ne Равенство, неравенство, равенство строк |
| & | Побитовое И |
| ˆ | Побитовое исключающее ИЛИ (XOR) |
| | | Побитовое ИЛИ |
| && | Логическое И |
| || | Логическое ИЛИ |
| x?y:z | Если x, то y; иначе — z |
Таблица 1.3. Встроенные математические функции в языке Tcl
| acos(x) | Арккосинус x | |
| asin(x) | Арксинус x | |
| atan(x) | Арктангенс x | |
| atan2(y,x) | При преобразовании прямоугольных координат (x,y) в полярные | |
| (r,th) | atan2 дает th | |
| ceil(x) | Наименьшее целое значение, большее или равное x | |
| cos(x) | Косинус x | |
| cosh(x) | Косинус гиперболический x | |
| exp(x) | Экспонента, ex | |
| floor(x) | Наибольшее целое значение, меньшее или равное x | |
| fmod(x,y) | Остаток от деления x/y с плавающей точкой | |
| hypot(x,y) | Возвращает sqrt(x*x + y*y), т.е. компонент r полярных координат | |
| log(x) | Натуральный логарифм x | |
| log10(x) | Логарифм по основанию 10 от x | |
| pow(x,y) | x в степени y, или xy | |
| sin(x) | Синус x | |
| sinh(x) | Синус гиперболический x | |
| sqrt(x) | Квадратный корень из x | |
| tan(x) | Тангенс x | |
| tanh(x) | Тангенс гиперболический x | |
| abs(x) | Абсолютное значение x | |
| double(x) | Преобразование x в формат с плавающей точкой | |
| int(x) | Усечение x до целочисленного значения | |
| round(x) | Округление x до целочисленного значения | |
| rand() | Возвращает случайное число с плавающей точкой в интервале от 0.0 до 1.0 | |
| srand(x) | Определяет x как значение, используемое для инициализации генератора случайных чисел | |
| wide(x) | Преобразует x в 64-битовое значение wide integer(Tcl 8.4) | |
Таблица 1.4. Встроенные команды Tcl
| Команда | Описание |
| after | Планирует выполнение TCL-команды на более позднее время |
| append | Добавляет параметры к значению переменной. Пробелы не добавляются |
| array | Определяет состояние массива и выполняет поиск |
| binary | Выполняет преобразование между строковым и двоичным представлением данных |
| break | Прерывает цикл до выполнения условия завершения |
| catch | Перехватывает ошибки |
| cd | Изменяет рабочий каталог |
| clock | Предоставляет строки, содержащие данные о времени, и форматированное представление даты |
| close | Закрывает и открывает поток ввода-вывода |
| concat | Выполняет конкатенацию параметров, разделяя их пробелами. Объединяет списки |
| console | Осуществляет управление консолью, используемой для интерактивного ввода команд |
| continue | Вызывает немедленный переход к следующей итерации цикла |
| error | Эмулирует условия возникновения ошибки |
| eof | Проверяет наличие признака конца файла |
| eval | Выполняет конкатенацию параметров и интерпретирует результат как команду |
| exec | Порождает процесс и выполняет команду Unix |
| exit | Завершает процесс |
| expr | Выполняет математическое выражение |
| fblocked | Проверяет наличие данных в команде ввода |
| fconfigure | Предоставляет параметры канала ввода-вывода и устанавливает новые значения этих параметров |
| fcopy | Выполняет копирование из одного канала ввода-вывода в другой |
| file | Предоставляет информацию о файловой системе |
| fileevent | Регистрирует команду обратного вызова для поддержки обмена данными, управляемого событиями |
| flush | Осуществляет принудительный вывод информации из внутреннего буфера |
| for | Формирует цикл, действующий подобно циклу for в языке C |
| foreach | Организует перебор значений списка в цикле |
| format | Форматирует строку. Действует подобно sprintf в языке C |
| gets | Читает строку из входного потока |
| glob | Расширяет шаблон, используемый при проверке соответствия имен файлов |
| global | Объявляет глобальные переменные |
| history | Обеспечивает работу со списком предыстории |
| if | Проверяет выполнение условия. Допускает наличие ветвей else и elseif |
| incr | Увеличивает значение переменной на величину, выражаемую целым числом |
| info | Предоставляет информацию о состоянии Tcl-интерпретатора |
| interp | Создает дополнительные Tcl-интерпретаторы |
| join | Осуществляет конкатенацию элементов списка, разделяя их указанной строкой |
| lappend | Добавляет элементы к концу списка |
| lindex | Возвращает элемент списка |
| linsert | Вставляет элемент в список |
| list | Оформляет параметры в виде списка |
| llength | Возвращает число элементов в списке |
| load | Загружает разделяемые библиотеки, определяющие Tcl-команды |
| lrange | Возвращает элементы списка в заданном диапазоне индексов |
| lreplace | Заменяет элемент списка |
| lsearch | Выполняет поиск элемента списка, соответствующего шаблону |
| lset | Включает элемент в состав списка (Tcl 8.4) |
| lsort | Выполняет сортировку списка |
| namespace | Позволяет создавать пространства имен и выполнять с ними различные действия |
| open | Открывает файл или канал |
| package | Реализует пакет или указывает, какие пакеты нужны приложению |
| pid | Возвращает идентификатор процесса |
| proc | Определяет Tcl-процедуру |
| puts | Выводит строку в выходной поток |
| pwd | Возвращает текущий каталог |
| read | Читает блок символов из входного потока |
| regexp | Предоставляет возможность использования регулярных выражений |
| regsub | Выполняет подстановку в зависимости от результатов сравнения с регулярным выражением |
| rename | Изменяет имя Tcl-команды |
| return | Возвращает значение процедуры |
| scan | Выполняет разбор строки в соответствии со спецификацией формата |
| seek | Устанавливает смещение для потока ввода-вывода |
| set | Присваивает значение переменной |
| socket | Устанавливает сетевое соединение TCP/IP |
| source | Выполняет Tcl-команды, содержащиеся в файле |
| split | Разделяет строку на элементы списка |
| string | Позволяет выполнять различные действия со строками |
| subst | Осуществляет подстановку вложенных команд и переменных |
| switch | Проверяет выполнение нескольких условий |
| tell | Возвращает текущее смещение для потока ввода-вывода |
| time | Определяет время выполнения команды |
| trace | Отслеживает присвоение значений переменным |
| unknown | Определяет действия при появлении неизвестной команды |
| unset | Удаляет переменные |
| uplevel | Выполняет команду в другой области видимости |
| upvar | Ссылается на переменную в другой области видимости |
| variable | Определяет переменные в пространстве имен |
| vwait | Ожидает, пока переменная не будет модифицирована |
| while | Формирует цикл, выполняющийся до тех пор, пока логическое выражение не примет значение false |
