Linguagem

Tcl é uma linguagem de programação muito simples. Se você já programou antes, você pode aprender o suficiente para escrever interessantes programas Tcl em poucas horas. Esta página oferece uma visão rápida das principais características do Tcl. Depois de ler isto, você provavelmente será capaz de começar a escrever scripts TCL simples por conta própria; no entanto, recomendamos que você consulte um dos muitos livros Tcl disponíveis para obter informações mais completas.

sintaxe básica

scripts Tcl são compostos por comandos separados por ponto-e-vírgula ou newlinesor., Todos os comandos têm a mesma forma básica ilustrada pelo seguinte exemplo:

expr 20 + 10

Este comando calcula a soma de 20 e 10 e devolve o resultado, 30.Você pode experimentar este exemplo e todos os outros nesta página, escrevendo-os para uma aplicação Tcl como tclsh; o comando aftera completa, tclsh imprime o seu resultado.

cada comando Tcl consiste numa ou mais palavras separadas por espaços., Neste exemplo, há quatro palavras: expr20 + e 10. A primeira palavra é o nome de um comando e as outras palavras são argumentos a esse comando. Todos os comandos Tcl consistem de palavras, mas diferentes comandos tratam seus argumentos de forma diferente.O comando expr trata todos os seus argumentos juntos como uma expressão aritmética, calcula o resultado dessa expressão, e retorna o resultado como uma string., exprcomando a divisão em palavras não é significativa: você poderia apenas aseasily ter invocado o mesmo comando

expr 20+10

no Entanto, para a maioria dos comandos a estrutura das palavras é importante, com eachword usado para uma finalidade distinta.

Todos os comandos Tcl retornam os resultados. Se um comando não tem nenhum resultado significativo, então ele retorna uma string vazio como seu resultado.

variáveis

Tcl permite armazenar valores em variáveis e usar os valores dos comandos laterin. O comando set é usado para escrever e ler variáveis., Por exemplo, o comando a seguir modifica a variávelx para armazenar o valor de 32:

set x 32

O comando retorna o novo valor da variável. Você pode ler thevalue de uma variável invocando set com apenas um singleargument:

set x

Você não precisa declarar variáveis em Tcl: uma variável é createdautomatically a primeira vez que ela é definida. As variáveis Tcl não têm tipos: qualquer variável pode conter qualquer valor.,

Para usar o valor de uma variável em um comando, use variablesubstitution como no exemplo a seguir:

expr $x*3

Quando $ aparece em um comando, Tcl trata o lettersand dígitos seguintes como um nome de variável, e substitui thevalue da variável no lugar do nome. Neste exemplo, theactual argumento recebida por expr comando32*3 (assumindo que a variável x foi setas no exemplo anterior)., Você pode usar a substituição de variáveis em qualquer palavra de qualquer comando, ou mesmo várias vezes dentro de uma palavra:

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

substituição de comandos

Você também pode usar o resultado de um comando em um argumento para outro comando. Isto é chamado de substituição de comandos:

set a 44set b 

quando um como um comando TCL aninhado.O Tcl avalia o comando aninhado e substitui o seu resultado no comando envolvente em vez do texto entre parênteses., No exemplo acima do segundo argumento do segundo id

comando será176.

aspas e chavetas

aspas duplas permitem-lhe indicar as palavras que contêm espaços. Forexample, considere o seguinte script:

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

Após esses três comandos são avaliados variável z willhave o valor de 24 + 18 is 42. Tudo entre as quotas passou para o comando set como uma única palavra., Note que (a) comando e substituições de variáveis são realizadas no texto entre as aspas, e (B) as aspas em si não são passadas para o comando.Se as citações não estivessem presentes, o comando set teria recebido 6 argumentos, o que teria causado um erro.os chaveiros encaracolados fornecem outra forma de agrupar a informação em palavras.,Eles são diferentes de citações em que não há substituições são performedon o texto entre as chavetas:

set z {$x + $y is }

Este comando define variáveis z para o valor”$x + $y is “.

estruturas de controle

Tcl fornece um conjunto completo de estruturas de controle, incluindo comandos para execução condicional, looping e procedimentos. As estruturas de controle Tcl são apenas comandos que tomam scripts Tcl como argumentos.,O exemplo abaixo cria um procedimento Tcl chamado power,que levanta uma base para um poder inteiro:

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

Este programa consiste de um único comando, proc. O comandoproc leva três argumentos: o nome de um procedimento,uma lista de nomes de argumentos, e o corpo do procedimento, que é um script Tcl. Note que tudo entre o chaveiro encaracolado no final da primeira linha e o chaveiro encaracolado na última linha é passado para proc como um único argumento., O comando proccria um novo comando Tcl chamadopower que leva dois argumentos. Você pode então invocar power com comandos como o seguinte:

power 2 6power 1.15 5

quando é invocado, o organismo de procedimento é avaliado.Enquanto o corpo está em execução, ele pode acessar seus argumentos como variáveis:base vai realizar o primeiro argumento e p willhold o segundo.,

O corpo de power procedimento contém três comandos Tcl:set while e return. O comandowhile faz a maior parte do trabalho do procedure.It leva dois argumentos, uma expressão ($p > 0) e abody, que é outro script Tcl. Owhile commandevaluates its expression argument using rules similar to those of the C programming language and if the result is true (nonzero) thenit evaluates the body as a Tcl script., Ele repete este processo sobre andover até que, eventualmente, a expressão avalia em falso (zero). Neste casethe corpo de while comando multiplicado o resultado valueby base e, em seguida, diminui p. Quandop atinge zero o resultado contém a potência desejada debase. O comando return faz com que o procedimento saia com o valor da variável result como resultado do procedimento.

de onde vêm os comandos?,

como você já viu, todas as características interessantes em Tcl arerepresentadas por comandos. Declarações são comandos, expressões são avaliadas pela execução de comandos,estruturas de controle são comandos, e procedimentos são comandos.os comandos

Tcl são criados de três maneiras. Um grupo de comandos fornecido pelo próprio intérprete Tcl. Estes comandos são chamados comandos de construção. Eles incluem todos os comandos que você viu até agora e muitos mais (veja abaixo). Os comandos builtin estão presentes em todas as aplicações Tcl.

o segundo grupo de comandos é criado usando o extensionmechanism Tcl., O Tcl fornece APIs que lhe permitem criar um novo comando, escrevendo um procedimento de comando em C ou C++ que implementa o comando. Você então registra o procedimento de comando com o interpretador theTcl, dizendo ao Tcl o nome do comando que o procedimento implementa. No futuro, sempre que esse nome específico for usado para um comando Tcl, o Tcl chamará o seu procedimento de comando para executar o comando. Os comandos builtin também são implementados utilizando este mesmo mecanismo de extensão; os seus procedimentos de comando são apenas parte da biblioteca Tcl.,quando o Tcl é usado dentro de uma aplicação, a aplicação incorpora as suas principais características no Tcl usando o mecanismo de extensão. Assim, o conjunto de comandos TCL disponíveis varia de aplicação para aplicação.Existem também inúmeros pacotes de extensão que podem ser incorporados em qualquer aplicação Tcl. Uma das extensões mais conhecidas é a Tk, que oferece poderosas instalações para a construção de interfaces gráficas de uso. Outras extensões fornecem programação orientada a objetos, acesso a banco de dados,mais capacidades gráficas, e uma variedade de outras características., Uma das maiores vantagens da Tcl para a construção de aplicações de integração é o caso com o qual ela pode ser estendida para incorporar novos recursos ou comunicar com outros recursos.

o terceiro grupo de comandos consiste em procedimentos criados com o comando proc, como o comando criado acima. Normalmente, extensões são usadas para funções de nível inferior onde a programação C é conveniente, e procedimentos são usados para funções de nível superior onde é mais fácil escrever em Tcl.,

outras características

Tcl contém muitos outros comandos além dos usados nos exemplos de precedência. Aqui está uma amostra de algumas das featuresprovided pelo builtin comandos Tcl:

  • Mais estruturas de controle, tais como if forforeach e switch.
  • String manipulation, including a powerful regular expressionmatching facility. Cordas de comprimento arbitrário podem ser passadas em volta e manipuladas tão facilmente quanto números.,
  • I / O, incluindo ficheiros no disco, bases de rede e dispositivos como portas seriais. A Tcl oferece facilidades particularmente simples para a comunicação através da Internet.
  • Gestão de Ficheiros: o Tcl oferece vários comandos para manipular nomes de ficheiros, ler e escrever atributos de ficheiros, copiar ficheiros,apagar ficheiros, criar directórios, etc.
  • subprocesso invocação: você pode executar outras aplicações com o comandoexec e comunicar com elas enquanto correm.,
  • Listas: o Tcl facilita a criação de colecções de valores (listas)e a sua manipulação de várias formas.
  • Arrays: você pode criar valores estruturados que consistam em valorepairs de nome com valores de cadeia arbitrários para os nomes e valores.manipulação de data e hora.
  • Events: Tcl permite que scripts esperem que certos eventos ocorram, tais como um tempo decorrido ou a disponibilidade de dados de entrada em um socket de rede.,

Exemplos

  • Uma simples ferramenta de linha de comando
  • Um simples servidor de rede

Tutorial

Tem algum tempo para aprofundar um pouco mais o idioma?O TCL Tutorialis é uma ótima maneira de aprender mais sobre os vários comandos e recursos linguísticos do Tcl.

Share

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *