Idioma

Tcl es un lenguaje de programación muy simple. Si has programado antes, puedes aprender lo suficiente como para escribir programas TCL interesantes en pocas horas. Esta página proporciona una visión general rápida de las principales características de Tcl. Después de leer esto, probablemente podrá comenzar a escribir scripts Tcl simples por su cuenta; sin embargo, recomendamos que consulte uno de los muchos libros Tcl disponibles para obtener más información completa.

sintaxis básica

Los scripts Tcl se componen de comandos separados por newlinesor punto y coma., Todos los comandos tienen la misma forma básica ilustrada por el siguiente ejemplo:

expr 20 + 10

Este comando calcula la suma de 20 y 10 y devuelve el resultado, 30.Puede probar este ejemplo y todos los demás en esta página escribiéndolos a una aplicación Tcl como tclsh; después de que se complete un comando, tclsh imprime su resultado.

cada comando Tcl consta de una o más palabras separadas por espacios., En este ejemplo hay cuatro palabras: expr,20, + y 10. La primera palabra es el nombre de un comando y las otras palabras son argumentos a ese comando. Todos los comandos Tcl consisten en palabras, pero differentcommand trata sus argumentos de manera diferente.El comando expr trata todos sus argumentos juntos como una expresión aritmética, calcula el resultado de esa expresión y devuelve el resultado como una cadena., En el comando exprla división en palabras no es significativa: podría haber invocado el mismo comando que

expr 20+10

Sin embargo, para la mayoría de los comandos la estructura de palabras es importante, con cada palabra utilizada para un propósito distinto.

Todos los comandos Tcl devuelven resultados. Si un comando no tiene un resultado significativo, devuelve una cadena vacía como resultado.

Variables

Tcl permite almacenar valores en variables y utilizar los comandos values laterin. El comando set se utiliza para escribir y readvariables., Por ejemplo, el siguiente comando modifica la variablex para mantener el valor de 32:

set x 32

El comando devuelve el nuevo valor de la variable. Puede leer el valor de una variable invocando set con solo un único documento:

set x

no necesita declarar variables en Tcl: una variable se crea automáticamente la primera vez que se establece. Las variables Tcl no tienen tipos: cualquier variable puede contener cualquier valor.,

para usar el valor de una variable en un comando, use variablesubstitution como en el siguiente ejemplo:

expr $x*3

Cuando un $ aparece en un comando, Tcl trata las letras y los dígitos que lo siguen como un nombre de variable, y sustituye el valor de la variable en lugar del nombre. En este ejemplo, el argumento real recibido por el comando expr será32*3(asumiendo que la variable x fue como en el ejemplo anterior)., Puede usar la sustitución de variables en cualquier palabra de cualquier comando, o incluso varias veces dentro de una palabra:

set cmd exprset x 11$cmd $x*$x

sustitución de comandos

También puede usar el resultado de un comando en un argumento para otro comando. Esto se llama sustitución de comandos:

set a 44set b 

Cuando un como un comando Tcl anidado.Tcl evalúa el comando anidado y sustituye su resultado en el comando que encierra en lugar del texto entre corchetes., En el ejemplo anterior, el segundo argumento del segundo comando set será 176.

comillas y llaves

Las comillas dobles le permiten especificar palabras que contienen espacios. Por ejemplo, considere el siguiente script:

set x 24set y 18set z "$x + $y is "

después de evaluar estos tres comandos variable ztendrá el valor 24 + 18 is 42. Todo entre las citas pasa al comando set como una sola palabra., Tenga en cuenta que(a) las sustituciones de comandos y variables se realizan en el texto entre las comillas, y (b) Las comillas mismas no se pasan al comando.Si las comillas no estaban presentes, el comando set habría recibido 6 argumentos, lo que habría causado un error.

Las llaves proporcionan otra forma de agrupar la información en palabras.,Son diferentes de las comillas en que no se realizan sustituciones en el texto entre las llaves:

set z {$x + $y is }

Este comando establece la variable zal valor»$x + $y is «.

estructuras de Control

Tcl proporciona un conjunto completo de estructuras de control que incluyen comandos para ejecución condicional, bucle y procedimientos. Tcl controlstructures son solo comandos que toman scripts Tcl como argumentos.,El siguiente ejemplo crea un procedimiento Tcl llamado power, que eleva una base a una potencia entera:

proc power {base p} { set result 1 while {$p > 0} { set result set p } return $result}

Este script consiste en un solo comando, proc. El comandoproc toma tres argumentos: el nombre de un procedimiento,una lista de nombres de argumentos y el cuerpo del procedimiento, que es un script Tcl. Tenga en cuenta que todo lo que se encuentra entre el corsé rizado al final de la primera línea y el corsé rizado de la última línea se pasa literalmente a proc como un único argumento., El comando proccrea un nuevo comando Tcl llamado power que acepta dos argumentos. A continuación, puede invocar power con comandos como los siguientes:

power 2 6power 1.15 5

Cuando se invoca power, se evalúa el cuerpo del procedimiento.Mientras el cuerpo se ejecuta puede acceder a sus argumentos como variables:base mantendrá el primer argumento y p mantendrá el segundo.,

El cuerpo de la etiqueta power procedimiento contiene tres Tcl comandos:set, while y return. El comandowhile hace la mayor parte del trabajo del procedure.It toma dos argumentos, una expresión ($p > 0) y abody, que es otro script Tcl. El comando while evalúa su argumento de expresión usando reglas similares a las del lenguaje de programación C y si el resultado es verdadero (distinto de cero) entonces evalúa el cuerpo como un script Tcl., Repite este proceso una y otra vez hasta que finalmente la expresión se evalúa como false (cero). En este caso, el cuerpo del comando while multiplicó el valor del resultado por basey luego decrementa p. Cuandop llega a cero, el resultado contiene la potencia deseada debase. El comando return hace que el procedureto salga con el valor de variable result como resultado del procedimiento.

¿de dónde vienen los comandos?,

Como has visto, todas las características interesantes de Tcl están representadas por comandos. Las sentencias son comandos, las expresiones se evalúan mediante la ejecución de comandos, las estructuras de control son comandos y los procedimientos son comandos.

Los comandos Tcl se crean de tres maneras. Un grupo de comandos es proporcionado por el propio intérprete Tcl. Estos comandos se llaman comandos BUILTIN. Incluyen todos los comandos que has visto hasta ahora y muchos más (Ver más abajo). Los comandos incorporados están presentes en todas las aplicaciones Tcl.

el segundo grupo de comandos se crea utilizando el mecanismo de extensión Tcl., Tcl proporciona API que le permiten crear un nuevo comando escribiendo un procedimiento de comando en C o c++ que implementa el comando. A continuación, se registra el procedimiento de comando con el intérprete ctcl diciéndole a Tcl el nombre del comando que implementa theprocedure. En el futuro, siempre que ese nombre en particular se use para un comando Tcl, Tcl llamará a su procedimiento de comando para ejecutar el comando. Los comandos incorporados también se implementan usando este mismo mecanismo de Extensión; sus procedimientos de comando son una parte simple de la biblioteca Tcl.,

cuando se utiliza Tcl dentro de una aplicación, la aplicación incorpora sus características clave en Tcl mediante el mecanismo de extensión. Por lo tanto, el conjunto de comandos Tcl disponibles varía de una aplicación a otra.También hay numerosos paquetes de extensión que se pueden incorporar en cualquier aplicación Tcl. Una de las extensiones más conocidas es Tk, que proporciona potentes instalaciones para construir interfaces gráficas de usuario. Otras extensiones proporcionan programación orientada a objetos, acceso a bases de datos,más capacidades gráficas y una variedad de otras características., Una de las mayores ventajas de Tcl para la creación de aplicaciones de integración es la facilidad con la que se puede ampliar para incorporar nuevas características o comunicarse con otros recursos.

el tercer grupo de comandos consiste en procedimientos creados con el comando proc, como el comando powercreado anteriormente. Por lo general, las extensiones se utilizan para funciones de nivel inferior donde la programación en C es conveniente, y los procedimientos se utilizan para funciones de nivel superior donde es más fácil escribir en Tcl.,

otras características

Tcl contiene muchos otros comandos además de los utilizados en los ejemplos anteriores. Aquí hay un sampler de algunas de las características proporcionadas por los comandos TCL incorporados:

  • Más estructuras de control, como if, for,foreach, y switch.
  • manipulación de cadenas, incluida una potente función de emparejamiento de expresiones regulares. Las cadenas de longitud arbitraria se pueden pasar y manipular tan fácilmente como los números.,
  • E/S, incluyendo archivos en disco, sockets de red y dispositivos como puertos serie. Tcl ofrece facilidades particularmente simples para la comunicación de bloqueo a través de Internet.
  • Administración de archivos: Tcl proporciona varios comandos para manipular nombres de archivos, leer y Escribir atributos de archivos,copiar archivos, eliminar archivos, crear directorios, etc.
  • Invocación de subprocesos: puede ejecutar otras aplicaciones con el comandoexec y comunicarse con ellas mientras se ejecutan.,
  • listas: Tcl facilita la creación de colecciones de valores (listas)y su manipulación de diversas maneras.
  • Arrays: puede crear valores estructurados consistentes en nombres-valores con valores de cadena arbitrarios para los nombres y valores.
  • manipulación de la hora y la fecha.
  • eventos: Tcl permite a los scripts esperar a que ocurran ciertos eventos, como un tiempo transcurrido o la disponibilidad de datos de entrada en un socket de red.,

Ejemplos

  • Una simple herramienta de línea de comandos
  • Un simple servidor de red

Tutorial

Tener un poco de tiempo para ahondar un poco más en el lenguaje?El tutorial Tcl es una gran manera de aprender más acerca de los diversos comandos y características de idioma de Tcl.

Share

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *