tcl учебник
Начало работы с tcl
Поиск…
замечания
Tcl - это кросс-платформенный язык с полной поддержкой юникода.
Гибкость: переопределить или улучшить существующие команды или написать новые команды.
Программирование, управляемое событиями: управляемые событиями ввода / вывода и отслеживание переменных.
Интерфейс библиотеки. Очень легко интегрировать существующие библиотеки C в Tcl и предоставить интерфейс Tcl для библиотеки C. Эти «заглушки» интерфейса не привязаны к какой-либо конкретной версии Tcl и будут продолжать работать даже после обновления Tcl.
Интерфейс Tcl: Tcl предоставляет полный API, поэтому вы используете интерпретатор Tcl из вашей программы C / Python / Ruby / Java / R.
Версии
| Версия | Заметки | Дата выхода |
|---|---|---|
| 8.6.6 | Текущий выпуск исправлений. | 2016-07-27 |
| 8.6.5 | 2016-02-29 | |
| 8.6.4 | 2015-03-12 | |
| 8.6.3 | 2014-11-12 | |
| 8.6.2 | 2014-08-27 | |
| 8.6.1 | 2013-09-20 | |
| 8.6.0 | Текущая рекомендуемая серия версий для нового кода. Введенная объектная система и нерекурсивный механизм выполнения. | 2013-09-20 |
| 8.5.19 | Текущий выпуск LTS | 2016-02-12 |
| 8.5.18 | 2015-03-06 | |
| 8.5.17 | 2014-10-25 | |
| 8.5.16 | 2014-08-25 | |
| 8.5.15 | 2013-09-18 | |
| 8.5.14 | 2013-04-03 | |
| 8.5.13 | 2012-11-12 | |
| 8.5.12 | 2012-07-27 | |
| 8.5.11 | 2011-11-04 | |
| 8.5.10 | 2011-06-24 | |
| 8.5.9 | 2010-09-08 | |
| 8.5.8 | 2009-11-16 | |
| 8.5.7 | 2009-04-15 | |
| 8.5.6 | 2008-12-23 | |
| 8.5.5 | 2008-10-15 | |
| 8.5.4 | 2008-08-15 | |
| 8.5.3 | 2008-06-30 | |
| 8.5.2 | 2008-03-28 | |
| 8.5.1 | 2008-02-05 | |
| 8.5.0 | Текущая старая поддерживаемая версия. Представлены синтаксис расширения, словари и команды ансамбля. | 2007-12-20 |
| 8.4.20 | Окончательный выпуск серии 8.4. Больше не будет выпусков 8.4. | 2013-06-01 |
| 8.4.19 | 2008-04-18 | |
| 8.4.18 | 2008-02-08 | |
| 8.4.17 | 2008-01-04 | |
| 8.4.16 | 2007-09-21 | |
| 8.4.15 | 2007-05-25 | |
| 8.4.14 | 2006-10-19 | |
| 8.4.13 | 2006-04-19 | |
| 8.4.12 | 2005-12-03 | |
| 8.4.11 | 2005-06-28 | |
| 8.4.10 | 2005-06-04 | |
| 8.4.9 | 2004-12-07 | |
| 8.4.8 | 2004-11-22 | |
| 8.4.7 | 2004-07-25 | |
| 8.4.6 | 2004-03-01 | |
| 8.4.5 | 2003-11-24 | |
| 8.4.4 | 2003-07-22 | |
| 8.4.3 | 2003-05-19 | |
| 8.4.2 | 2003-03-03 | |
| 8.4.1 | 2002-10-22 | |
| 8.4.0 | Первый выпуск Tcl Core Team. Многие улучшения производительности. Улучшена поддержка 64-бит. | 2002-09-18 |
| 8.3.5 | 2002-10-18 | |
| 8.3.4 | 2001-10-19 | |
| 8.3.3 | 2001-04-06 | |
| 8.3.2 | 2000-08-09 | |
| 8.3.1 | 2000-04-26 | |
| 8.3.0 | Повышение производительности. | 2000-02-10 |
| 8,2 | Выпуск стабилизации | 1999-08-18 |
| 8,1 | Введена поддержка Unicode. | 1999-04-30 |
| 8,0 | Введенный механизм компиляции байткода | 1997-08-16 |
Монтаж
Установка Tcl 8.6.4 на Windows :
Самый простой способ получить Tcl на машине Windows - установить дистрибутив ActiveTcl из ActiveState.
Перейдите на сайт www.activestate.com и следуйте ссылкам, чтобы загрузить бесплатную версию Community ActiveTcl для Windows (выберите 32/64 бит версии соответственно).
Запустите установщик, который приведет к новой установке ActiveTcl, обычно в каталоге C: \ Tcl .
Откройте командную строку для проверки установки, введите «tclsh», который должен открыть интерактивную консоль tcl. Введите «info patchlevel», чтобы проверить версию tcl, которая была установлена, и она должна отображать вывод формы «8.6.x» в зависимости от версии загруженного ActiveTcl.
- Вы также можете добавить «C: \ Tcl \ bin» или его эквивалент переменной среды PATH .
C:\>tclsh
% info patchlevel
8.6.4
Программа Hello, world в Tcl (и Tk)
Следующий код можно ввести в оболочку Tcl ( tclsh ) или в файл сценария и запустить через оболочку Tcl:
puts "Hello, world!"
Он дает строковый аргумент Hello, world! к команде puts . Команда puts записывает свой аргумент в стандартную версию (ваш терминал в интерактивном режиме) и после этого добавляет новую строку.
В оболочке с поддержкой Tk этот вариант можно использовать:
pack [button .b -text "Hello, world!" -command exit]
Он создает графическую кнопку с текстом Hello, world! и добавляет его в окно приложения. При нажатии приложение завершает работу.
Оболочка с поддержкой Tk запускается как: wish Или используя tclsh вместе со следующим утверждением:
package require Tk
Особенности Tcl
- Перекрестная платформа
- Работает в Windows, Mac OS X, Linux и практически во всех вариантах unix.
- Программирование на основе событий
- Триггерные события на основе переменной read / write / unset.
- Триггерные события, когда команда введена или левая.
- Триггерные события, когда канал ввода / вывода (файл или сеть) становится читаемым / записываемым.
- Создайте свои собственные события.
- Запустите команду, основанную на таймере.
- Объектно-ориентированное программирование
- Примеси.
- Суперклассы и подклассы.
- Простая грамматика
- Полная поддержка Unicode
- Это просто работает. Для обработки строк unicode не требуются специальные команды.
- С легкостью конвертируйте в и из разных систем кодирования.
- гибкий
- Создайте новые структуры управления и команды.
- Переменные доступа в контексте вызывающей процедуры.
- Выполнить код в контексте вызывающей процедуры.
- Мощные возможности самоанализа.
- Многие Tcl-отладчики написаны в Tcl.
- Интерфейс библиотеки
- Интегрируйте существующие библиотеки C и предоставите интерфейс Tcl для библиотеки.
- Библиотечные «заглушки» не привязаны к какой-либо конкретной версии Tcl и будут работать после обновления Tcl.
- Полный API
- Вставьте интерпретатор Tcl на ваш любимый язык.
- Python, Ruby, R, Java и другие включают Tcl API.
- Встроенная библиотека bigint.
- Никаких специальных действий не требуется для обработки очень больших чисел.
- Безопасные переводчики
- Создайте песочницы, в которых может быть запущен пользовательский код.
- Включение и отключение определенных команд для интерпретатора.
- Регулярные выражения
- Мощный и быстрый механизм регулярных выражений, написанный Генри Спенсером (создателем регулярного выражения).
Установка пакетов через чашку
В настоящее время многие языки поддерживают сервер архивации для установки своих пакетов на ваш локальный компьютер. TCL также имеет тот же сервер архива, который мы назвали его Teacup
teacup version teacup search <packageName>
пример
teacup install Expect