Tcl - Funciones integradas
Tcl proporciona una serie de funciones integradas (procedimientos) para diversas operaciones. Esto incluye:
Funciones para el manejo de listas .
Funciones para el manejo de cuerdas .
Funciones para el manejo de matrices .
Funciones para el manejo de diccionarios .
Funciones para el manejo de E / S de archivos .
Funciones para crear espacios de nombres y paquetes.
Funciones para operaciones matemáticas.
Funciones para las operaciones del sistema.
Cada uno de los anteriores, excepto las funciones matemáticas y del sistema, se tratan en capítulos anteriores. Las funciones matemáticas y integradas del sistema se explican a continuación.
Funciones matemáticas
Las funciones matemáticas disponibles en Tcl se enumeran en la siguiente tabla:
No Señor. | Método y descripción |
---|---|
1 | abs arg Calcula el valor absoluto de arg. |
2 | acos arg Calcula el arcocoseno de arg. |
3 | asin arg Calcula el arcoseno de arg. |
4 | atan arg Calcula el arcotangente de arg. |
5 | atan2 yx Calcula el arcotangente del cociente de sus argumentos (y / x). |
6 | ceil arg Calcula el número entero más pequeño mayor o igual que un número. |
7 | cos arg Calcula el coseno de arg. |
8 | cosh arg Calcula el coseno hiperbólico de arg. |
9 | double arg Calcula si arg es un valor de punto flotante, devuelve arg; de lo contrario, convierte arg en punto flotante y devuelve el valor convertido. |
10 | exp arg Calcula una función exponencial (e elevado a la potencia de arg). |
11 | floor arg Calcula el entero más grande menor o igual que arg. |
12 | fmod xy Calcula el resto de punto flotante de la división de x por y. Si y es 0, se devuelve un error. |
13 | hypot xy Calcula la longitud de la hipotenusa de un triángulo rectángulo sqrt (x * x + y * y). |
14 | int arg Calcula si arg es un valor entero del mismo ancho que la palabra de la máquina, devuelve arg; de lo contrario, convierte arg en un número entero. |
15 | log arg Calcula el logaritmo natural de arg. |
dieciséis | log10 arg Calcula el logaritmo en base 10 de arg. |
17 | pow xy Calcula el valor de x elevado a la potencia y. Si x es negativo, y debe ser un valor entero. |
18 | rand Calcula un número pseudoaleatorio entre 0 y 1. |
19 | round arg Calcula el valor de arg redondeado al entero más cercano. |
20 | sin arg Calcula el seno de arg. |
21 | sinh arg Calcula el seno hiperbólico de arg. |
22 | sqrt arg Calcula la raíz cuadrada de arg. arg debe ser positivo. |
23 | srand arg Calcula un número pseudoaleatorio entre 0 y 1. El argumento, que debe ser un número entero, se usa para restablecer la semilla para el generador de números aleatorios de rand. |
24 | tan arg Calcula la tangente de arg. |
25 | tanh arg Calcula la tangente hiperbólica de arg. |
26 | wide arg Calcula un valor entero de al menos 64 bits de ancho (por extensión de signo si arg es un número de 32 bits) para arg si aún no lo es. |
A continuación se dan algunos ejemplos que utilizan funciones matemáticas:
#!/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]
Cuando se ejecuta el código anterior, produce el siguiente resultado:
0.6483608274590866
100.0
11.0
22.360679774997898
0.0003521866166741525
2.302585092994046
0.0003521866166741525
Funciones del sistema
Las funciones importantes del sistema en Tcl incluyen,
clock - función de segundos, que devuelve la hora actual en segundos.
clock - función de formato, que formatea los segundos en fecha y hora.
clock - función de escaneo, que escanea la cadena de entrada y la convierte en segundos.
open - función, que se utiliza para abrir un archivo.
exec - función, que se utiliza para ejecutar un comando del sistema.
close - función, que se utiliza para cerrar un archivo.
Algunos ejemplos de las funciones anteriores se enumeran a continuación:
#!/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
Cuando se ejecuta el código anterior, produce el siguiente 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
La siguiente tabla proporciona las cadenas de lista que se pueden utilizar para formatear la fecha y la hora.
No Señor. | Formato y descripción |
---|---|
1 | %a Día en forma abreviada, por ejemplo: Sol. |
2 | %A Día en forma completa, por ejemplo: domingo. |
3 | %b Mes en forma abreviada. |
4 | %B Mes en forma completa. |
5 | %d Dia del mes. |
6 | %j Día juliano del año. |
7 | %m Mes en número. |
8 | %y Año en dos dígitos. |
9 | %Y Año en cuatro dígitos. |
10 | %H Hora en formato de 24 horas. |
11 | %I Hora en reloj de 12 horas. |
12 | %M Minutos. |
13 | %S Segundos. |
14 | %p Am o PM. |
15 | %D Fecha en número, mm / dd / aa. |
dieciséis | %r Hora en reloj de 12 horas. |
17 | %R Hora en reloj de 24 horas sin segundos. |
18 | %T Hora en reloj de 24 horas con segundos. |
19 | %Z Nombre de la zona horaria, como GMT, IST, EST, etc. |