Tcl - Funções Integradas
O Tcl fornece várias funções internas (procedimentos) para várias operações. Isso inclui -
Funções para tratamento de listas .
Funções para manipulação de strings .
Funções para manipulação de array .
Funções para manipulação de dicionário .
Funções para manipulação de E / S de arquivo .
Funções para criar namespaces e pacotes.
Funções para operações matemáticas.
Funções para operações do sistema.
Cada uma das opções acima, exceto as funções matemáticas e do sistema, são abordadas nos capítulos anteriores. As funções matemáticas e integradas do sistema são explicadas abaixo.
Funções Matemáticas
As funções matemáticas disponíveis em Tcl estão listadas na tabela a seguir -
Sr. Não. | Método e Descrição |
---|---|
1 | abs arg Calcula o valor absoluto de arg. |
2 | acos arg Calcula o arco cosseno de arg. |
3 | asin arg Calcula o arco seno de arg. |
4 | atan arg Calcula o arco tangente de arg. |
5 | atan2 yx Calcula o arco tangente do quociente de seus argumentos (y / x). |
6 | ceil arg Calcula o menor inteiro maior ou igual a um número. |
7 | cos arg Calcula o cosseno de arg. |
8 | cosh arg Calcula o cosseno hiperbólico de arg. |
9 | double arg Calcula se arg é um valor de ponto flutuante, retorna arg; caso contrário, converte arg em ponto flutuante e retorna o valor convertido. |
10 | exp arg Calcula uma função exponencial (e elevado à potência de arg). |
11 | floor arg Calcula o maior número inteiro menor ou igual a arg. |
12 | fmod xy Calcula o resto do ponto flutuante da divisão de x por y. Se y for 0, um erro será retornado. |
13 | hypot xy Calcula o comprimento da hipotenusa de um triângulo retângulo sqrt (x * x + y * y). |
14 | int arg Calcula se arg é um valor inteiro da mesma largura da palavra da máquina, retorna arg, caso contrário, converte arg em um inteiro. |
15 | log arg Calcula o logaritmo natural de arg. |
16 | log10 arg Calcula o logaritmo de base 10 de arg. |
17 | pow xy Calcula o valor de x elevado à potência y. Se x for negativo, y deve ser um valor inteiro. |
18 | rand Calcula um número pseudoaleatório entre 0 e 1. |
19 | round arg Calcula o valor de arg arredondado para o inteiro mais próximo. |
20 | sin arg Calcula o seno de arg. |
21 | sinh arg Calcula o seno hiperbólico de arg. |
22 | sqrt arg Calcula a raiz quadrada de arg. arg deve ser positivo. |
23 | srand arg Calcula um número pseudo-aleatório entre 0 e 1. O arg, que deve ser um inteiro, é usado para redefinir a semente do gerador de número aleatório de rand. |
24 | tan arg Calcula a tangente de arg. |
25 | tanh arg Calcula a tangente hiperbólica de arg. |
26 | wide arg Calcula o valor inteiro com pelo menos 64 bits de largura (por extensão de sinal se arg for um número de 32 bits) para arg se ainda não for um. |
Alguns exemplos usando funções matemáticas são fornecidos abaixo -
#!/usr/bin/tclsh
namespace import ::tcl::mathfunc::*
puts [tan 10]
puts [pow 10 2]
puts [ceil 10.34]
puts [hypot 10 20]
puts [srand 45]
puts [log 10]
puts [srand 45]
Quando o código acima é executado, ele produz o seguinte resultado -
0.6483608274590866
100.0
11.0
22.360679774997898
0.0003521866166741525
2.302585092994046
0.0003521866166741525
Funções do sistema
As funções importantes do sistema em Tcl incluem,
clock - função de segundos, que retorna a hora atual em segundos.
clock - função de formato, que formata os segundos em data e hora.
clock - função de varredura, que varre a string de entrada e a converte em segundos.
open - função, que é usada para abrir um arquivo.
exec - função, que é usada para executar um comando do sistema.
close - função, que é usada para fechar um arquivo.
Alguns exemplos para as funções acima estão listados abaixo -
#!/usr/bin/tclsh
#get seconds
set currentTime [clock seconds]
puts $currentTime
#get format
puts "The time is: [clock format $currentTime -format %H:%M:%S]"
puts "The date is: [clock format $currentTime -format %D]"
set date "Jun 15, 2014"
puts [clock scan $date -format {%b %d, %Y}]
puts [exec ls]
puts [exec dir]
set a [open input.txt]
puts [read $a];
puts $a
close $a
Quando o código acima é executado, ele produz o seguinte resultado -
1402819756
The time is: 03:09:16
The date is: 06/15/2014
1402808400
input.txt
main.tcl
input.txt main.tcl
This is the file you can use to provide input to your program and later on open
it inside your program to process the input.
file3
A tabela a seguir fornece as strings de lista que podem ser usadas para formatar a data e a hora.
Sr. Não. | Formato e descrição |
---|---|
1 | %a Dia em forma abreviada, por exemplo: Sol. |
2 | %A Dia completo, por exemplo: domingo. |
3 | %b Mês resumido. |
4 | %B Mês completo. |
5 | %d Dia do mês. |
6 | %j Dia juliano do ano. |
7 | %m Mês em número. |
8 | %y Ano em dois dígitos. |
9 | %Y Ano em quatro dígitos. |
10 | %H Hora no relógio de 24 horas. |
11 | %I Hora no relógio de 12 horas. |
12 | %M Minutos. |
13 | %S Segundos. |
14 | %p AM ou PM. |
15 | %D Data em número, mm / dd / aa. |
16 | %r Tempo no relógio de 12 horas. |
17 | %R Tempo no relógio de 24 horas sem segundos. |
18 | %T Tempo no relógio de 24 horas com segundos. |
19 | %Z Nome do fuso horário como GMT, IST, EST e assim por diante. |