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.