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.