|
Познающий
Регистрация: 20.07.2008
Сообщений: 94
Провел на форуме: 546634
Репутация:
97
|
|
***Введение в TCL||PART 1***
Команда Tcl состоит из одной или нескольких команд, разделенных символами новой строки или точками с запятой. Каждая команда состоит из набора полей, разделенных пустым промежутком (пробелами или табуляцией). Первое поле должно быть именем команды, а необязательные остальные поля — суть аргументы, передаваемые этой команде. Например, команда
set a 22//Присвоить значение 22, переменной "a".
Комментарии. При изображении первого символа команды, кроме пробела, в виде ‘#’, все последующие символы в этой строке до символа новой строки включительно считаются комментарием и игнорируются.
Групировка аргумента. Если аргументы обособлены в кавычки "", то ее содержимое групируется в один аргумент. Это необходимо для того, чтобы например присвоить аргумент, внутри которого присутствуют пробелы. Например:
set a "Стррока, состоящая из несколькох слов"
Для группирования аргументов можно также использовать фигурные скобки.Их действие похоже на двойные кавычки, за исключением двух отличий. Во-первых, они позволяют вложение, поэтому их проще использовать для таких усложненных аргументов, как вложенные командные строки Tcl. Во-вторых, нижеописанные подстановки для команд, переменных и обратных слешей внутри фигурных скобок не выполняются. Например:
set A {c{b}}#"A" получит переменные "c" и "b"
Подстановка команд со скобками. При появлении в поле команды открывающей квадратной скобки выполняется подстановка команды. Все символы внутри скобок считаются командой, и она исполняется немедленно.Например:
set A [set b 5]#"A" получит значение "b", которое в свою очередь уже имеет значение "5".
Подстановка переменных с $.
Символ доллара ‘$’ можно использовать в качестве краткой формы для подстановки переменных. Если у аргумента, не заключенного в фигурные скобки, имеется символ ‘$’, то выполняется подстановка переменной. Например "A" имеет значение 5, тогда:
set B $A # "B" примет значение 5, т.к. при использовании "$" автоматически происходит подстановка первостепенной переменной.
Разделение команд точкой с запятой. Символ точки с запятой также считается разделителем команд: можно поместить несколько команд в одной строке, разделив их точками с запятой.
Выражения. Вторая смысловая форма строк в Tcl — это выражения. Несколько команд, таких как expr, for и if, считают один или несколько своих аргументов выражениями и для вычисления их значения вызывают процессоры выражений TclВ качестве примеров рассмотрим простые выражения, в которых переменная a имеет значение ‘3’, а значение переменной b есть ‘6’. Тогда выражение в левой части каждой строки даст значение в ее правой части:
3.1 + $a 6.1
2 + " $a.$b " 5.6
4*[llength " 6 2 " ] 8
{word one} < " word $a " 0
Списки. Третьей основной смысловой формой строк в Tcl являются списки. Список — это обычная строка с подобной списку структурой, состоящей из полей, разделенных промежутками. Например, строка ‘Al Sue Anne John’ есть список, имеющий четыре элемента (поля). Основная структура списков аналогична структуре командных строк, за исключением того, что символ новой строки служит таким же разделителем, как и пробел с табуляцией. Для списков действуют такие же правила в отношении фигурных скобок, двойных кавычек и обратных слешей, как и для команд. Например, строка
a b\ c {d e {f g h}}
есть список из трех элементов: ‘a’, ‘b c’ и ‘d e {f g h}’. Всегда, когда из списка извлекается элемент, действуют те же правила относительно фигурных скобок, двойных кавычек и обратных слешей, что и для команд.
******На этом заканчивается первая часть ознакомительного курса по tcl. Через некоторое время добавлю еще и tk, и практику, если эта статья будет пользоваться интиресом. Хотя уже на данном этапе можно свободно приводить примеры с использованием интерпретатора tcl/tk.
|