Tcl - Типы данных
Примитивным типом данных Tcl является строка, и часто мы можем найти кавычки на Tcl как на строковом языке. Эти примитивные типы данных, в свою очередь, создают составные типы данных для списка и ассоциативного массива. В Tcl типы данных могут представлять не только простые объекты Tcl, но также могут представлять сложные объекты, такие как ручки, графические объекты (в основном виджеты) и каналы ввода-вывода. Давайте подробно рассмотрим каждый из вышеперечисленных.
Простые объекты Tcl
В Tcl, будь то целое число, логическое значение, число с плавающей запятой или строка. Если вы хотите использовать переменную, вы можете напрямую присвоить ей значение, в Tcl нет шага объявления. Для этих разных типов объектов могут быть внутренние представления. При необходимости он может преобразовывать один тип данных в другой. Синтаксис для присвоения значения переменной следующий:
#!/usr/bin/tclsh
set myVariable 18
puts $myVariable
Когда приведенный выше код выполняется, он дает следующий результат:
18
Вышеупомянутый оператор создаст имя переменной myVariable и сохранит его как строку, хотя мы не использовали двойные кавычки. Теперь, если мы попытаемся произвести арифметические действия с переменной, она автоматически превратится в целое число. Ниже показан простой пример -
#!/usr/bin/tclsh
set myVariable 18
puts [expr $myVariable + 6 + 9]
Когда приведенный выше код выполняется, он дает следующий результат:
33
Следует отметить одну важную вещь: эти переменные не имеют значений по умолчанию и им необходимо присвоить значение перед их использованием.
Если мы попытаемся напечатать с помощью put, число преобразуется в правильную строку. Наличие двух представлений, внутреннего и внешнего, помогает Tcl легко создавать сложные структуры данных по сравнению с другими языками. Кроме того, Tcl более эффективен благодаря своей динамической объектной природе.
Строковые представления
В отличие от других языков, в Tcl вам не нужно включать двойные кавычки, если это всего лишь одно слово. Примером может быть -
#!/usr/bin/tclsh
set myVariable hello
puts $myVariable
Когда приведенный выше код выполняется, он дает следующий результат:
hello
Когда мы хотим представить несколько строк, мы можем использовать двойные кавычки или фигурные скобки. Это показано ниже -
#!/usr/bin/tclsh
set myVariable "hello world"
puts $myVariable
set myVariable {hello world}
puts $myVariable
Когда приведенный выше код выполняется, он дает следующий результат:
hello world
hello world
Список
Список - это не что иное, как группа элементов. Для представления простого списка можно использовать группу слов в двойных кавычках или фигурных скобках. Ниже показан простой список -
#!/usr/bin/tclsh
set myVariable {red green blue}
puts [lindex $myVariable 2]
set myVariable "red green blue"
puts [lindex $myVariable 1]
Когда приведенный выше код выполняется, он дает следующий результат:
blue
green
Ассоциативный массив
Ассоциативные массивы имеют индекс (ключ), который не обязательно является целым числом. Обычно это строка, которая действует как пары ключ-значение. Ниже показан простой пример -
#!/usr/bin/tclsh
set marks(english) 80
puts $marks(english)
set marks(mathematics) 90
puts $marks(mathematics)
Когда приведенный выше код выполняется, он дает следующий результат:
80
90
Ручки
Дескрипторы Tcl обычно используются для представления файлов и графических объектов. Они могут включать в себя дескрипторы сетевых запросов, а также другие каналы, такие как связь через последовательный порт, сокеты или устройства ввода-вывода. Ниже приведен пример создания дескриптора файла.
set myfile [open "filename" r]
Вы увидите более подробную информацию о файлах в главе о вводе- выводе файлов Tcl .