o que é TCL?

TCL é uma aplicação shell que lê o comando TCL a partir de sua entrada padrão ou de um arquivo e dá os resultados desejados.

TCL é uma linguagem de scripts baseada em string e também uma linguagem processual. Foi criado pela primeira vez por John Osterhout em 1989. O propósito de desenvolver esta linguagem é fácil embutido inti ( ) aplicações. A linguagem é comumente usada para GUIs e testes. Por exemplo, prototipagem rápida, testando interação de banco de dados, etc., Em TCL por padrão tudo é uma string.,

  • TCL Variável
  • TCL Expressão e Operador
  • TCL fluxo de controle e de tomada de decisão
  • Como Executar TCL

    Existem duas formas de executar a TCL código

    1. aplicativo para Windows está disponível aqui tcltutor arquivo exe
    2. Baseado em Linux, o aplicativo

    No Linux interpretador interativo, podemos executar os scripts TCL como abaixo

    Para acessar TCL sessão interativa, execute o seguinte comando

    TCL scripts

    TCL programa deve ter um .,extensão tcl. Todo script no UNIX / LINUX começa com o caminho da linha de comandos TCL

    #!/usr/bin/tclsh

    exemplo: –

    #!/usr/bin/tclshPuts "Hello World"Script execution:-$ chmod +x helloworld.tcl$ ./helloworld.tcl

    Saída: Hello World

    no TCL, o comando “Puts” é usado para imprimir mensagens para a consola .a sintaxe de puts está abaixo de

    puts?- nonewline? ?channelId? string

    • Nonewline: este parâmetro opcional suprime o carácter da newline por comando predefinido. Ele coloca uma nova linha para cada string
    • Channelid: este parâmetro usado para o canal padrão de entrada (stdin) e o canal padrão de saída (stdout).,

    Ex:-

    %puts "Hello World"% Hello World%puts stdout "Hello World"% Hello World

    TCL Substituição de tipo

    Existem três tipos de substituições em TCL

    1. substituição de Comandos
    2. a substituição da Variável
    3. barra Invertida de substituição

    Vamos estudar uma por uma

    a substituição de Comando

    colchetes são usados para a substituição de comando.

    exemplo: –

    % puts % 3

    Aqui o comando entre os parêntesis rectos é avaliado primeiro. Os resultados são devolvidos .”expr” utilizado para efectuar o cálculo aritmético.,

    substituição de variáveis

    TCL executa substituição de variáveis com a ajuda de $ sign.

    exemplo: –

    #!/usr/bin/tclshset a 10puts aputs $a 

    Aqui criamos uma variável chamada “a” e definimos o valor “10” para ela.

    • coloca a: irá imprimir o texto ” a ” mas não o valor de ‘a’ na consola
    • coloca $a : irá imprimir o valor de ‘a’ na consola

    vamos executá-lo e verificá-lo. Você terá a saída como abaixo.,

    $ ./substitution.tcl

    A

    substituição de barra invertida

    no Tcl, a barra invertida é usada para escapar de caracteres especiais, bem como para espalhar comandos longos através de várias linhas. Qualquer personagem imediatamente após a barra invertida ficará sem substituição. No exemplo abaixo, você pode ver o personagem especial””, permanece após a barra invertida.

    let’s verify this with an example

    #!/usr/bin/tclshputs "This is my \"car\"$ ./backslashsubstitution.tclThis is my "car"

    nota: -To comment any string in TCL “#” is used. Todos os personagens após o ” # ” são ignorados pelo comando shell tclsh.,

    variável TCL

    uma variável é um identificador que detém um valor. Em outras palavras, uma variável é uma referência a uma memória de computador, onde o valor é armazenado.

    variáveis são criadas por” set command ” e todos os nomes de variáveis são sensíveis à capitalização. Significa Olá, Olá, Olá, todos são diferentes em TCL. Veja um exemplo para uma variável sensível a maiúsculas.,

    % set name Techoit% set Name Technoit_1% set NAME Technoit_2

    Saída:-

    % puts $name% Technoit%puts $Name%Technoit_1%puts $NAME%Technoit_2

    a Criação de SÍMBOLOS de Variáveis

    Para criar variáveis em TCL, você precisa usar o “set” de comando

    Definir um 10

    Para obter o valor da variável de ter que usar o “$” como símbolo

    % colocá $a

    % 10

    Para que possamos obter o valor da variável ‘a’ 10.

    a informação do comando TCL existe

    o comando “set” é usado para criar e ler variáveis como mostrado acima. O comando unset é usado para destruir uma variável., O comando” info existe ” devolve 1 Se o varName existir como uma variável (ou um elemento array) no contexto actual, caso contrário devolve 0. (ver exemplo abaixo).

    Ex:-

    % set a 20% puts $a% 20% puts % 1% unset a%puts % 0

    Diferentes chaves e o seu comportamento

    {} -> chaves

    chaves no grupo TCL palavras juntos para tornar argumentos. Chavetas Curly são usadas para definir um bloco que é diferido-em outras palavras, ele pode ser executado após o resto do comando na linha atual. Os caracteres dentro dos suspensórios são passados a um comando exatamente como escrito.,

    Alguns pontos a serem lembrados

    1. substituição de Variável não é permitido dentro de {} chaves
    2. É usado para criar a lista de tipo de dados

    Exemplo:

    % set x 10% puts {$x}% $x

    %número do conjunto {1 2 3 4 5} -> número Aqui está uma lista de tipo de dados

    %coloca $numero

    %1 2 3 4 5

    -> colchetes

    colchetes são usados para criar comando aninhado. Simplificando, a saída de um comando passou como argumento para outro comando., Os parêntesis rectos são usados para definir um bloco que é executado antes do resto do comando na linha atual, e o resultado é substituído na linha.

    Ex: –

    % set x 10% puts "y : ]"%y : 10% puts "x : $x"%x : 10

    () – > Chavetas redondas

    Este comando é usado para criar um tipo de dados array e também para indicar a precedência do operador.

    % set a(1) 10% set a(2) 20

    Aqui “A” é um array com valores 10 e 20. Veja abaixo os comandos para imprimir chaves, pares de valores-chave e valores de array.,

    para imprimir o valor ” Nth ” do array a, vamos usar Puts $a(N)

    TCL argumentos da linha de comandos

    itens de dados passados a um programa da linha de comandos são conhecidos como argumentos. O número de argumentos da linha de comando para um script Tcl é passado como a variável global argc . O nome de um script Tcl é passado para o script como a variável global argv0 , e o resto dos argumentos da linha de comando são passados como uma lista em argv.,

    TCL possui 3 variáveis pré-definidas, tais como:

    $argc -> indicates the number of arguments passed to the script$argv -> indicates list of arguments$argv0 -> indicates the name of script

    Ex:–

    arg-script.tcl#!/usr/bin/tclsh 
    $ ./arg-script.tcl 10 20 30

    saída:-

    • o Número de argumentos passados para os scripts: 3
    • Lista de argumentos são passados para o script: 10 20 30
    • O nome do script é : arg-script.TCL

    TCL Expression and Operator

    Expression is constructed from operands and operators. É avaliada com o comando” expr”. Os operadores são avaliados com base em precedência e associatividade., TCL language has built-in operators as below

    Arithmetic Operator

    a TCL expression consists of a combination of operands, operators, and parentheses., Vamos ver o exemplo de operadores Aritméticos em TCL

    + Adicionar dois ou mais operandos

    Ex:-

    %set a 10 %set b 20%puts 30

    – Subtrai dois ou mais operandos

    Ex:-

    %set a 20 %set b 10%puts 10

    *Multiplica dois ou mais operandos

    %set a 20 %set b 10%puts 200

    / Dividir o numerador pelo denumerator

    %set a 20 %set b 10%puts 2

    % Operador de módulo divide o numerador pelo de-numerador mas retorna lembrete

    %set a 20 %set b 10%puts 0

    o Operador Relacional

    Verifica se o valor do operando esquerdo é maior que o valor do operando direito., Se sim, então a condição torna-se verdadeira e retornar 1 outra volta 0.

    %set a 20 %set b 10%puts 1

    Check if the value of left operand is less than the value of the right operand., Se sim, então a condição se torna verdadeira e return 1 else return 0

    %set a 10 %set b 20%puts 1

    >= Verifica se o valor do operando esquerdo é maior que ou igual ao valor do operando direito, se sim, então a condição se torna verdadeira e return 1 else return 0

    %set a 20 %set b 10%puts 1

    <= Verifica se o valor do operando esquerdo é menor ou igual ao valor do operando direito, se sim, em seguida, a condição se torna verdadeira e return 1 else return 0

    %set a 20 %set b 10%puts 0

    !,não são iguais, então a condição se torna verdadeira e return 1 else return 0

    %set a 20 %set b 10%puts 1

    == Verifica se os valores dos dois operandos são iguais ou não, se sim, então a condição se torna verdadeira e return 1 else return 0

    %set a 20 %set b 10%puts 0

    Operador Lógico

    && Se ambos os operandos são não-zero, em seguida, a condição se torna verdadeira e return 1 else return 0

    %set a 20 %set b 10%puts 1

    || Se qualquer um dos dois operandos é diferente de zero, então a condição se torna verdadeira e return 1 else return 0

    %set a 0 %set b 10%puts 1

    !, Usado para reverter o resultado de qualquer expressão. Aqui na saída, você pode ver o valor de ‘a’ agora se tornou 1 de 0. Enquanto o valor de ” b ” se tornou 0 a partir de 1.

    %set a 0 %set b 1%puts 1%puts 0

    operador Bitwise

    & (bitwise and) executar operação bit a bit e seguir a tabela abaixo para a operação.,/td>

    0 0 1 1 1 1 0 1 0 1

    Ex:-

    %set A 10%set B 20Follow the sequence to convert decimal to binary number128 64 32 16 8 4 2 110 binary equivalents will be 128 64 32 16 8 4 2 1 à 0 0 0 0 1 0 1 020 binary equivalents will be 128 64 32 16 8 4 2 1 à 0 0 0 1 0 1 0 0So now as per above tabular rulesA ^ B will be 0 0 0 1 1 1 1 0 à 30

    ~ (bitwise negation) operator changes each 1 to 0 and 0 to 1, follow the table as reference

    A ~A
    0 1
    1 0
    %set A 7%puts -8

    Ternary Operator ( ?,:)

    sintaxe é

    condition-expression? expression_1: expression_2

    Se condição-Val é verdadeiro, val1 é avaliado e o resultado é devolvido. Se o cond-exp for falso, o exp2 é avaliado e o seu resultado é devolvido. Em nosso exemplo, exp1 é verdadeiro como o valor de A é maior que 6.

    %set A 7%set result %puts $resulttrue

    Operador Shift

    operador Shift é denotado por << shift esquerdo do operador, ou pelo >> shift da direita do operador., For << left shift operator, the left operands value is moved left by the number of bits specified by the right operand.

    %set A 7%set result %puts $result

    Para o >> shift da direita do operador, a esquerda operandos valor é movido para a direita pelo número de bits especificado pelo operando da direita.

    %set A 7%set result %puts $result

    operador de comparação de cordas

    operador de comparação de cordas compara o valor de ambos os operandos. Se o valor do operando for o mesmo, então retornará 1 return 0., Em exemplo, o valor para A e B é 7, Portanto o retorno do Resultado 1.

    Ex: –

    %set A 7 %set B 7%set result %puts $result1

    Ne (se o valor de ambos os operando são diferentes, então ele irá retornar 1 outro retorno 0)

    exponenciação operador

    Pow () e ** ambos são iguais. Devolve sempre valor flutuante.

    ** indica o poder para o operando desejado.

    Ex: –

    %set A 7%set result %puts $result49

    operador da lista

    Se o valor necessário for encontrado na lista definida, devolve 1 Outro valor 0. Por exemplo, o valor 1 existe na variável “a”, pelo que irá retornar 1.,

    set a {1 2 3}if {1 in $a} {puts "ok"} else {puts "fail"}Output: ok

    ni, se o valor requerido encontrado na lista definida então ele retornará 0 else return 1.

    Ex: –

    set a {1 2 3}if {1 ni $a} {puts "ok"} else {puts "fail"}Output: fail

    TCL controle de fluxo e tomada de decisão

    Existem vários controle de fluxo e comando de tomada de decisão que são usados para alterar o fluxo de um programa. As execuções de programas começam sempre do topo do ficheiro de código para o fundo. se a declaração consistir numa expressão booleana seguida de uma ou mais declarações.

    If … instrução

    sintaxe: –

    se expr ?então?, body

    if expr is avaued to true, then the body of command is executed.

    Ex: –

    set age 10if {$age < 20} {puts "Age is less than 20"}Output: Age is less than 20

    If … else statement

    sintaxe: –

    If expression ? então body_1 else body_2

    If expression is avauated to true, then it will return body_1 else it will return body_2

    Ex:–

    set age 10if {$age < 20} {puts "Age is less than 20"} else {Puts "Age is greater than 20"}output: Age is less than 20

    Nested if..else statement

    It means one if or else..se a declaração pode ser colocada dentro de outro se ou não..se declarações.,

    sintaxe: –

    If {expression_1} {Body_1If {expression_2} {Body_2}}

    Ex:–

    Switch statement

    a switch statement permite que uma variável seja testada para a igualdade em relação a uma lista de valores. Avalia a lista de valores e retorna o resultado dessa avaliação. Se nenhum valor corresponder, então os valores padrão serão devolvidos. exemplo:

    #!/usr/bin/tclsh# switch_cmd.tclset domain xswitch $domain { x { puts "x" } y { puts "y" } z { puts "z" } default { puts "unknown" }}

    comutador aninhado

    Declaração aninhada significa declaração de comutação dentro de uma declaração de comutação.,

    sintaxe: –

    exemplo: no exemplo seguinte, o valor de A é 100, e com o mesmo código trocamos a instrução por outro valor de b é 200. A saída mostrará o valor de a e b.

    #!/usr/bin/tclshset a 100set b 200switch $a { 100 { puts "The value of a is $a" switch $b { 200 { puts "The value of b is $b" } } } }

    Saída:

    O valor de a é 100

    O valor de b é de 200

    TCL instrução Loop

    instrução de Ciclo permite a execução de uma instrução ou um grupo de instrução várias vezes. Tcl fornece os seguintes tipos de declaração de looping.,

    while command

    When a given condition is true then a statement or group of statement repeats which are in the loop body.

    Sintaxe:

    While {condition} { Statements}

    Ex :-

    #!/usr/bin/tclshSet a 10While {$a < 12} { Puts "a is $a" incr a}

    Saída :

    10

    11

    No exemplo acima, “s” built-in de comando é usado. Significa que o valor de”A”será aumentado em 1 até o valor máximo (<12).

    para o comando

    executa uma sequência de declarações múltiplas vezes com base num valor do contador., Ele é automaticamente aumentado ou diminuído durante cada repetição do loop.

    sintaxe: –

    For {start} {test} {next} {Body}

    exemplo: em baixo exemplo, o valor de ‘i’ é definido como 0 e o valor aumentado do till <5.

    #!/usr/bin/tclshfor {set i 0} {$i < 5} {incr i} {put $i}

    saída: –

    Articles

    Deixe uma resposta

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