Euforia - Rutinas de la biblioteca
Se proporciona una gran cantidad de rutinas de biblioteca. Algunos están integrados directamente en el intérprete,ex.exe, exw.exe or exu. Otros están escritos en Euphoria y debe incluir uno de los archivos .e eneuphoria\include directorio para usarlos.
Para indicar qué tipo de objeto se puede pasar y devolver, se utilizan los siguientes prefijos:
S. No | Prefijo y descripción |
---|---|
1 | x un objeto general (átomo o secuencia) |
2 | s una secuencia |
3 | a un átomo |
4 | i un entero |
5 | fn un entero utilizado como número de archivo |
6 | st una secuencia de cadena o un átomo de un solo carácter |
Tipos predefinidos
Además de declarar variables con estos tipos, también puede llamarlas como funciones ordinarias, para probar si un valor es de un tipo determinado.
entero | - | prueba si un objeto es un número entero |
átomo | - | probar si un objeto es un átomo |
secuencia | - | probar si un objeto es una secuencia |
objeto | - | probar si un objeto es un objeto (siempre cierto) |
Manipulación de secuencia
longitud | - | devolver la longitud de una secuencia |
repetir | - | repetir un objeto n veces para formar una secuencia de longitud n |
contrarrestar | - | invertir una secuencia |
adjuntar | - | agregar un nuevo elemento al final de una secuencia |
anteponer | - | agregar un nuevo elemento al comienzo de una secuencia |
Búsqueda y clasificación
comparar | - | comparar dos objetos |
igual | - | probar si dos objetos son idénticos |
encontrar | - | encuentre un objeto en una secuencia - comience a buscar desde el elemento número 1 |
find_from | - | encontrar un objeto en una secuencia - empezar a buscar desde cualquier número de elemento |
partido | - | encuentre una secuencia como un corte de otra secuencia - comience a buscar desde el elemento número 1 |
match_from | - | encontrar una secuencia como una porción de otra secuencia: comience a buscar desde cualquier número de elemento |
ordenar | - | ordenar los elementos de una secuencia en orden ascendente |
ordenado_personalizado | - | ordenar los elementos de una secuencia en función de una función de comparación que proporcione |
La coincidencia de patrones
inferior | - | convertir un átomo o secuencia a minúsculas |
Superior | - | convertir un átomo o secuencia a mayúsculas |
wildcard_match | - | coincidir con un patrón que contiene? y * comodines |
wildcard_file | - | hacer coincidir un nombre de archivo con una especificación comodín |
Matemáticas
Estas rutinas se pueden aplicar a átomos individuales o secuencias de valores.
sqrt | - | calcular la raíz cuadrada de un objeto |
rand | - | generar números aleatorios |
pecado | - | calcular el seno de un ángulo |
arcos | - | calcular el ángulo con un seno dado |
porque | - | calcular el coseno de un ángulo |
arccos | - | calcular el ángulo con un coseno dado |
broncearse | - | calcular la tangente de un ángulo |
arctan | - | calcular el arco tangente de un número |
Iniciar sesión | - | calcular el logaritmo natural |
suelo | - | redondear al entero más cercano |
recordatorio | - | calcular el resto cuando un número se divide por otro |
poder | - | calcular un número elevado a una potencia |
Pi | - | el valor matemático PI (3.14159 ...) |
Operaciones lógicas bit a bit
Estas rutinas tratan los números como colecciones de bits binarios y las operaciones lógicas se realizan en los bits correspondientes en la representación binaria de los números.
No hay rutinas para mover bits hacia la izquierda o hacia la derecha, pero puede lograr el mismo efecto multiplicando o dividiendo por potencias de 2.
and_bits | - | realizar AND lógico en los bits correspondientes |
or_bits | - | realizar OR lógico en los bits correspondientes |
xor_bits | - | realizar XOR lógico en los bits correspondientes |
not_bits | - | realizar un NOT lógico en todos los bits |
E / S de archivos y dispositivos
Para hacer entrada o salida en un archivo o dispositivo, primero debe abrir el archivo o dispositivo, luego usar las rutinas a continuación para leer o escribir en él, luego cerrar el archivo o dispositivo. open () le dará un número de archivo para usar como primer argumento de las otras rutinas de E / S. Ciertos archivos / dispositivos se abren automáticamente (como archivos de texto):
- 0 - entrada estándar
- 1 - salida estándar
- 2 - error estándar
abierto | - | abrir un archivo o dispositivo |
cerca | - | cerrar un archivo o dispositivo |
enjuagar | - | vaciar los datos almacenados en búfer a un archivo o dispositivo |
lock_file | - | bloquear un archivo o dispositivo |
Desbloquear archivo | - | desbloquear un archivo o dispositivo |
impresión | - | imprime un objeto Euphoria en una línea, con llaves y comas {,,} para mostrar la estructura |
pretty_print | - | imprima un objeto Euphoria en una forma agradable y legible, utilizando varias líneas y la sangría adecuada |
? X | - | taquigrafía para imprimir (1, x) |
pique | - | devolver un objeto Euphoria impreso como una secuencia de cadena |
printf | - | impresión formateada en un archivo o dispositivo |
sprintf | - | impresión formateada devuelta como una secuencia de cadena |
pone | - | enviar una secuencia de cadena a un archivo o dispositivo |
getc | - | leer el siguiente carácter de un archivo o dispositivo |
consigue | - | leer la siguiente línea de un archivo o dispositivo |
get_bytes | - | leer los siguientes n bytes de un archivo o dispositivo |
prompt_string | - | pedirle al usuario que ingrese una cadena |
obtener la clave | - | Verifique la tecla presionada por el usuario, no espere |
wait_key | - | espere a que el usuario presione una tecla |
obtener | - | leer la representación de cualquier objeto Euphoria de un archivo |
prompt_number | - | pedirle al usuario que ingrese un número |
valor | - | leer la representación de cualquier objeto Euphoria de una cadena |
buscar | - | moverse a cualquier posición de byte dentro de un archivo abierto |
dónde | - | reportar la posición actual del byte en un archivo abierto |
current_dir | - | devuelve el nombre del directorio actual |
chdir | - | cambiar a un nuevo directorio actual |
dir | - | devolver información completa sobre todos los archivos en un directorio |
walk_dir | - | recorrer de forma recursiva todos los archivos de un directorio |
allow_break | - | permitir que control-c / control-Break termine su programa o no |
check_break | - | comprobar si el usuario ha pulsado control-co control-Break |
Soporte de mouse (DOS32 y Linux)
En Windows XP, si desea que el mouse de DOS funcione en una ventana (que no sea de pantalla completa), debe deshabilitar el modo QuickEdit en las Propiedades de la ventana de DOS.
get_mouse | - | devolver "eventos" del mouse (clics, movimientos) |
mouse_events | - | seleccionar eventos de mouse para observar |
Puntero del ratón | - | mostrar u ocultar el puntero del mouse |
Sistema operativo
hora | - | número de segundos desde un punto fijo en el pasado |
tick_rate | - | establecer el número de tics del reloj por segundo (DOS32) |
fecha | - | año actual, mes, día, hora, minuto, segundo, etc. |
línea de comando | - | línea de comandos utilizada para ejecutar este programa |
getenv | - | obtener el valor de una variable de entorno |
sistema | - | ejecutar una línea de comando del sistema operativo |
system_exec | - | ejecutar un programa y obtener su código de salida |
abortar | - | terminar la ejecución |
dormir | - | suspender la ejecución por un período de tiempo |
plataforma | - | averiguar en qué sistema operativo estamos ejecutando |
Rutinas especiales dependientes de la máquina
machine_func | - | operaciones internas especializadas con valor de retorno |
machine_proc | - | operaciones internas especializadas sin valor de retorno |
Depuración
rastro | - | activa o desactiva el rastreo de forma dinámica |
perfil | - | activa o desactiva la creación de perfiles de forma dinámica |
Gráficos y sonido
Las siguientes rutinas le permiten mostrar información en la pantalla. En DOS, la pantalla de la PC se puede colocar en uno de los muchos modos gráficos.
Las siguientes rutinas funcionan en todos los modos de texto y gráficos de píxeles.
pantalla clara | - | limpiar la pantalla |
posición | - | establecer la línea y la columna del cursor |
get_position | - | devolver línea y columna del cursor |
modo_graficos | - | seleccionar un nuevo modo de texto o gráficos de píxeles (DOS32) |
video_config | - | devolver los parámetros del modo actual |
Desplazarse | - | desplazar el texto hacia arriba o hacia abajo |
envolver | - | ajuste de línea de control en el borde derecho de la pantalla |
color de texto | - | establecer el color del texto de primer plano |
bk_color | - | establecer color de fondo |
paleta | - | cambiar color para un número de color (DOS32) |
all_palette | - | cambiar el color de todos los números de color (DOS32) |
get_all_palette | - | obtener los valores de la paleta para todos los colores (DOS32) |
read_bitmap | - | leer un archivo de mapa de bits (.bmp) y devolver una paleta y una secuencia de píxeles 2-d |
save_bitmap | - | crear un archivo de mapa de bits (.bmp), dada una paleta y una secuencia de píxeles 2-d |
get_active_page | - | devolver la página que se está escribiendo actualmente (DOS32) |
set_active_page | - | cambiar la página que se está escribiendo actualmente (DOS32) |
get_display_page | - | devolver la página que se muestra actualmente (DOS32) |
set_display_page | - | cambiar la página que se muestra actualmente (DOS32) |
sonido | - | hacer un sonido en el altavoz de la PC (DOS32) |
Las siguientes rutinas funcionan en texto solo en modos
cursor | - | seleccionar la forma del cursor |
text_rows | - | establecer el número de líneas en la pantalla de texto |
get_screen_char | - | obtener un personaje de la pantalla |
put_screen_char | - | poner uno o más personajes en la pantalla |
save_text_image | - | guardar una región rectangular de una pantalla de texto |
display_text_image | - | mostrar una imagen en la pantalla de texto |
Las siguientes rutinas funcionan solo en modos de gráficos de píxeles (DOS32)
pixel | - | establecer el color de un píxel o un conjunto de píxeles |
get_pixel | - | leer el color de un píxel o un conjunto de píxeles |
Dibujar linea | - | conectar una serie de puntos gráficos con una línea |
polígono | - | dibuja una figura de n lados |
elipse | - | dibujar una elipse o un círculo |
save_screen | - | guardar la pantalla en un archivo de mapa de bits (.bmp) |
guardar imagen | - | guardar una región rectangular de una pantalla de gráficos de píxeles |
mostrar imagen | - | mostrar una imagen en la pantalla de gráficos de píxeles |
Multitarea
task_clock_start | - | reiniciar el reloj del programador |
task_clock_stop | - | detener el reloj del programador |
task_create | - | crear una nueva tarea |
lista de tareas | - | obtener una lista de todas las tareas |
task_schedule | - | programar una tarea para su ejecución |
task_self | - | devolver la identificación de la tarea de la tarea actual |
task_status | - | el estado actual (activo, suspendido, terminado) de una tarea |
task_suspend | - | Suspender una tarea. |
rendimiento_tarea | - | Control de rendimiento, para que el planificador pueda elegir una nueva tarea para ejecutar. |