por Sobre el Author: Brent Welch se divierte construyendo el website www.scriptics.com, incluyendo una base de datos comentada con URLs sobre el lenguaje Tcl (el Tcl Resource Center ) y la infraestructura de ecommerce para el producto TclPro. También ha realizado varias aplicaciones grandes en Tcl/Tk, incluyendo el servidor TclHttpd, que ejecuta www.scriptics.com, el interface de usuario de correo Exmh y el editor de HTML webtk. Es el autor de Practical Programming in Tcl and Tk . Welch recibió BS ( Bachellor in Sciences en Ingeniería Aeroespacial en la Universidad de Colorado en Boulder (1982) y un MS ( master in Science ) en Informática por la Universidad de California en Berkeley (1986), y es doctor en Informática por la Universidad de California en Berkeley (1990). Anteriormente Welch fue miembro del equipo de investigación del Palo Alto Research Center de Xerox trabajando en sistemas distribuidos, y más tarde fue miembro de el equipo Tcl/Tk de los laboratorios de Sun Microsystems. Es también miembro de ACM y de la IEEE Computer Society. Home Page: http://www.beedub.com/ Contenidos: |
Resumen:
Este artículo explica algunos conceptos básicos y la sintaxis del lenguaje Tcl.
cmd arg arg arg
$foo
[clock seconds]
"lo que sea"
{lo que sea}
\
set
, clock
, y puts
. El comando set
asigna un valor a la variable. El comando clock
interactúa con el reloj. El comando puts
muestra los valores.
set seconds [clock seconds] puts "Son las [clock format $seconds]"Tener en cuenta que no usamos el signo $ cuando asignemos variables. Sólo cuando queramos el valor almacenado en la variable usaremos $. La variable
seconds
no es absolutamente necesaria en el ejemplo. Podemos mostrar la hora actual con un solo comando:
puts "Son las [clock format [clock seconds]]"
puts
.$foo
con el valor de la variable foo
, y los comandos entre parentesis por su "resultado". Esas sustitutiones es crucial que sean hechas después de las agrupaciones . Esta secuencia asegura que valores inusuales no compliquen la estructura del comando.set i 0 while {$i < 10} { puts "$i squared = [expr $i*$i]" incr i }Aquí, las llaves son usadas para agrupar argumentos sin hacer ninguna sustitución. El parser del Tcl no sabe nada en especial acerca del comando
while
. Lo trata como a cualquier otro comando. Es la implementación del comando while
quien sabe que el primer argumento es una expresión, y el segundo argumento consta de más comandos Tcl. Las llaves agrupan dos argumentos: la expresión lógica que controla el bucle y los comandos que hay en el cuerpo del bucle.
También vemos dos expresiones matemáticas: la comparación lógica y la multiplicación. El comando while evalúa automáticamente su primer argumento como una expresión. En otros casos deberemos usar explícitamente el comando expr
para realizar evaluaciones matemáticas.
expr
para llevar a cabo funciones matemáticas, que puts
maneja las operaciones de salida, y set
para asignar variables. Estos comandos Tcl están implementados por un procedimiento C que se encuentra registrado a sí mismo dentro de Tcl. Los procedimientos de comandos en C toman la cadena de argumentos del comando Tcl y devuelven una nueva cadena como resultado. Es muy fácil escribir procedimientos de comandos en C. Ellos pueden hacer cualquier cosa, desde acceso a bases de datos hasta crear interfaces gráficos de usuario. Tcl, el lenguaje propiamente dicho, no sabe realmente qué hace cada comando. Tan sólo agrupa argumentos, sustituye resultados, y ejecuta comandos.
proc fac {x} { if {$x < 0} { error "Argumento erróneo $x: debe ser un entero positivo" } elseif {$x <= 1} { return 1 } else { return [expr $x * [fac [expr $x-1]]] } }
Contactar con el equipo de LinuFocus © Brent B. Welch LinuxFocus 1999 |
Translation information:
|
1999-05-28, generated by lfparser version 0.6