Tcl - Tipos de datos

El tipo de datos primitivo de Tcl es cadena y, a menudo, podemos encontrar comillas en Tcl como lenguaje de solo cadena. Estos tipos de datos primitivos, a su vez, crean tipos de datos compuestos para listas y matrices asociativas. En Tcl, los tipos de datos pueden representar no solo los objetos Tcl simples, sino que también pueden representar objetos complejos como identificadores, objetos gráficos (principalmente widgets) y canales de E / S. Veamos los detalles sobre cada uno de los anteriores.

Objetos Tcl simples

En Tcl, ya sea un número entero, booleano, número de coma flotante o una cadena. Cuando desee utilizar una variable, puede asignarle directamente un valor, no hay paso de declaración en Tcl. Puede haber representaciones internas para estos diferentes tipos de objetos. Puede transformar un tipo de datos en otro cuando sea necesario. La sintaxis para asignar valor a la variable es la siguiente:

#!/usr/bin/tclsh

set myVariable 18
puts $myVariable

Cuando se ejecuta el código anterior, produce el siguiente resultado:

18

La declaración anterior creará un nombre de variable myVariable y lo almacenará como una cadena, aunque no hemos usado comillas dobles. Ahora, si intentamos hacer una aritmética sobre la variable, automáticamente se convierte en un número entero. A continuación se muestra un ejemplo sencillo:

#!/usr/bin/tclsh

set myVariable 18
puts [expr $myVariable + 6 + 9]

Cuando se ejecuta el código anterior, produce el siguiente resultado:

33

Una cosa importante a tener en cuenta es que estas variables no tienen ningún valor predeterminado y se les debe asignar un valor antes de que se utilicen.

Si intentamos imprimir usando put, el número se transforma en la cadena adecuada. Tener dos representaciones, interna y externa, ayuda a Tcl a crear estructuras de datos complejas fácilmente en comparación con otros lenguajes. Además, Tcl es más eficiente debido a su naturaleza de objeto dinámico.

Representaciones de cadenas

A diferencia de otros idiomas, en Tcl, no es necesario incluir comillas dobles cuando es una sola palabra. Un ejemplo puede ser:

#!/usr/bin/tclsh

set myVariable hello
puts $myVariable

Cuando se ejecuta el código anterior, produce el siguiente resultado:

hello

Cuando queremos representar múltiples cadenas, podemos usar comillas dobles o llaves. Se muestra a continuación:

#!/usr/bin/tclsh

set myVariable "hello world"
puts $myVariable
set myVariable {hello world}
puts $myVariable

Cuando se ejecuta el código anterior, produce el siguiente resultado:

hello world
hello world

Lista

La lista no es más que un grupo de elementos. Se puede usar un grupo de palabras que usan comillas dobles o llaves para representar una lista simple. A continuación se muestra una lista simple:

#!/usr/bin/tclsh

set myVariable {red green blue}
puts [lindex $myVariable 2]
set myVariable "red green blue"
puts [lindex $myVariable 1]

Cuando se ejecuta el código anterior, produce el siguiente resultado:

blue
green

Matriz asociativa

Las matrices asociativas tienen un índice (clave) que no es necesariamente un número entero. Generalmente es una cadena que actúa como pares clave-valor. A continuación se muestra un ejemplo sencillo:

#!/usr/bin/tclsh

set  marks(english) 80
puts $marks(english)
set  marks(mathematics) 90
puts $marks(mathematics)

Cuando se ejecuta el código anterior, produce el siguiente resultado:

80
90

Manejas

Los identificadores de Tcl se utilizan comúnmente para representar archivos y objetos gráficos. Estos pueden incluir identificadores de solicitudes de red y también otros canales como comunicación de puerto serie, enchufes o dispositivos de E / S. El siguiente es un ejemplo donde se crea un identificador de archivo.

set myfile [open "filename" r]

Verá más detalles sobre los archivos en el capítulo E / S de archivos Tcl .