Euforia - Routine di biblioteca

Viene fornito un gran numero di routine di libreria. Alcuni sono incorporati direttamente nell'interprete,ex.exe, exw.exe or exu. Altri sono scritti in Euphoria e devi includere uno dei file .e ineuphoria\include directory per usarli.

Per indicare quale tipo di oggetto può essere passato e restituito, vengono utilizzati i seguenti prefissi:

S.No Prefisso e descrizione
1

x

un oggetto generale (atomo o sequenza)

2

s

una sequenza

3

a

un atomo

4

i

un numero intero

5

fn

un numero intero utilizzato come numero di file

6

st

una sequenza di stringhe o un atomo di un carattere

Tipi predefiniti

Oltre a dichiarare variabili con questi tipi, puoi anche chiamarle proprio come le normali funzioni, al fine di verificare se un valore è un certo tipo.

numero intero - verifica se un oggetto è un numero intero
atomo - verifica se un oggetto è un atomo
sequenza - verifica se un oggetto è una sequenza
oggetto - verifica se un oggetto è un oggetto (sempre vero)

Manipolazione di sequenze

lunghezza - restituisce la lunghezza di una sequenza
ripetere - ripetere un oggetto n volte per formare una sequenza di lunghezza n
inversione - invertire una sequenza
aggiungere - aggiungere un nuovo elemento alla fine di una sequenza
anteporre - aggiungere un nuovo elemento all'inizio di una sequenza

Ricerca e ordinamento

confrontare - confronta due oggetti
pari - verifica se due oggetti sono identici
trova - trova un oggetto in una sequenza: inizia la ricerca dall'elemento numero 1
find_from - trova un oggetto in una sequenza: inizia la ricerca da qualsiasi numero di elemento
incontro - trova una sequenza come una porzione di un'altra sequenza: inizia la ricerca dall'elemento numero 1
match_from - trova una sequenza come parte di un'altra sequenza: inizia la ricerca da qualsiasi numero di elemento
ordinare - ordina gli elementi di una sequenza in ordine crescente
custom_sort - ordina gli elementi di una sequenza in base a una funzione di confronto fornita

Pattern Matching

inferiore - converte un atomo o una sequenza in minuscolo
superiore - converte un atomo o una sequenza in lettere maiuscole
wildcard_match - corrisponde a un modello contenente? e * caratteri jolly
wildcard_file - corrisponde a un nome di file con una specifica di caratteri jolly

Matematica

Queste routine possono essere applicate a singoli atomi o sequenze di valori.

sqrt - calcolare la radice quadrata di un oggetto
rand - generare numeri casuali
peccato - calcola il seno di un angolo
arcsin - calcola l'angolo con un dato seno
cos - calcola il coseno di un angolo
arccos - calcola l'angolo con un dato coseno
abbronzatura - calcolare la tangente di un angolo
arctan - calcolare l'arcotangente di un numero
log - calcolare il logaritmo naturale
pavimento - arrotondare per difetto al numero intero più vicino
resto - calcolare il resto quando un numero viene diviso per un altro
energia - calcolare un numero elevato a una potenza
PI - il valore matematico PI (3.14159 ...)

Operazioni logiche bit per bit

Queste routine trattano i numeri come raccolte di bit binari e le operazioni logiche vengono eseguite sui bit corrispondenti nella rappresentazione binaria dei numeri.

Non ci sono routine per spostare i bit a sinistra oa destra, ma puoi ottenere lo stesso effetto moltiplicando o dividendo per potenze di 2.

and_bits - eseguire AND logico sui bit corrispondenti
or_bits - eseguire l'OR logico sui bit corrispondenti
xor_bits - eseguire XOR logico sui bit corrispondenti
not_bits - eseguire il NOT logico su tutti i bit

File e I / O dispositivo

Per eseguire l'input o l'output su un file o un dispositivo è necessario prima aprire il file o il dispositivo, quindi utilizzare le routine seguenti per leggere o scrivere su di esso, quindi chiudere il file o il dispositivo. open () ti darà un numero di file da usare come primo argomento delle altre routine di I / O. Alcuni file / dispositivi vengono aperti automaticamente (come file di testo) -

  • 0 - input standard
  • 1 - output standard
  • 2 - errore standard
Aperto - aprire un file o un dispositivo
vicino - chiudere un file o un dispositivo
sciacquone - eliminare i dati memorizzati nel buffer in un file o dispositivo
lock_file - bloccare un file o un dispositivo
unlock_file - sbloccare un file o un dispositivo
Stampa - stampa un oggetto Euphoria su una riga, con parentesi graffe e virgole {,,} per mostrare la struttura
pretty_print - stampa un oggetto Euphoria in una bella forma leggibile, usando più righe e un rientro appropriato
? X - abbreviazione di print (1, x)
sprint - restituisce un oggetto Euphoria stampato come sequenza di stringhe
printf - stampa formattata su un file o dispositivo
sprintf - stampa formattata restituita come sequenza di stringhe
mette - emette una sequenza di stringhe in un file o dispositivo
getc - legge il carattere successivo da un file o dispositivo
prende - legge la riga successiva da un file o dispositivo
get_bytes - legge i prossimi n byte da un file o da un dispositivo
prompt_string - richiede all'utente di inserire una stringa
get_key - verificare la presenza di tasti premuti dall'utente, non aspettare
wait_key - attendere che l'utente prema un tasto
ottenere - legge la rappresentazione di qualsiasi oggetto Euphoria da un file
prompt_number - chiedere all'utente di inserire un numero
valore - leggere la rappresentazione di qualsiasi oggetto Euphoria da una stringa
cercare - spostarsi in qualsiasi posizione di byte all'interno di un file aperto
dove - riporta la posizione del byte corrente in un file aperto
current_dir - restituisce il nome della directory corrente
chdir - passare a una nuova directory corrente
dir - restituisce le informazioni complete su tutti i file in una directory
walk_dir - esplorare in modo ricorsivo tutti i file in una directory
allow_break - consentire a control-c / control-Break di terminare o meno il programma
check_break - controlla se l'utente ha premuto control-co control-Break

Supporto per mouse (DOS32 e Linux)

In Windows XP, se si desidera che il mouse DOS funzioni in una finestra (non a schermo intero), è necessario disabilitare la modalità QuickEdit nelle proprietà della finestra DOS.

get_mouse - restituisci gli "eventi" del mouse (clic, movimenti)
mouse_events - selezionare gli eventi del mouse da tenere d'occhio
puntatore del mouse - visualizzare o nascondere il puntatore del mouse

Sistema operativo

tempo - numero di secondi trascorsi da un punto fisso nel passato
tick_rate - impostare il numero di tick dell'orologio al secondo (DOS32)
Data - anno corrente, mese, giorno, ora, minuto, secondo ecc.
riga di comando - riga di comando utilizzata per eseguire questo programma
getenv - ottenere il valore di una variabile d'ambiente
sistema - eseguire una riga di comando del sistema operativo
system_exec - eseguire un programma e ottenere il suo codice di uscita
abortire - terminare l'esecuzione
dormire - sospendere l'esecuzione per un periodo di tempo
piattaforma - scoprire su quale sistema operativo stiamo eseguendo

Routine speciali dipendenti dalla macchina

machine_func - operazioni interne specializzate con un valore di ritorno
machine_proc - operazioni interne specializzate senza valore di ritorno

Debug

traccia - attiva o disattiva la traccia in modo dinamico
profilo - attiva o disattiva dinamicamente la profilazione

Grafica e suono

Le seguenti routine consentono di visualizzare le informazioni sullo schermo. In DOS, lo schermo del PC può essere posizionato in una delle tante modalità grafiche.

Le seguenti routine funzionano in tutte le modalità di testo e grafica pixel.

schermo pulito - cancellare lo schermo
posizione - imposta la riga e la colonna del cursore
get_position - torna alla riga e alla colonna del cursore
graphics_mode - selezionare una nuova modalità grafica pixel o testo (DOS32)
video_config - restituisce i parametri della modalità corrente
scorrere - scorrere il testo in alto o in basso
avvolgere - linea di controllo a capo sul bordo destro dello schermo
colore del testo - imposta il colore del testo in primo piano
bk_color - imposta il colore di sfondo
tavolozza - cambia colore per un numero di colore (DOS32)
all_palette - cambia colore per tutti i numeri di colore (DOS32)
get_all_palette - ottenere i valori della tavolozza per tutti i colori (DOS32)
read_bitmap - legge un file bitmap (.bmp) e restituisce una tavolozza e una sequenza di pixel 2D
save_bitmap - creare un file bitmap (.bmp), data una tavolozza e una sequenza di pixel 2-d
get_active_page - restituisce la pagina in corso di scrittura (DOS32)
set_active_page - cambiare la pagina in cui si sta scrivendo (DOS32)
get_display_page - restituisce la pagina attualmente visualizzata (DOS32)
set_display_page - cambiare la pagina attualmente visualizzata (DOS32)
suono - emettere un suono dall'altoparlante del PC (DOS32)

Le seguenti routine funzionano solo in modalità testo

cursore - selezionare la forma del cursore
text_rows - imposta il numero di righe sullo schermo di testo
get_screen_char - prendi un personaggio dallo schermo
put_screen_char - mettere uno o più caratteri sullo schermo
save_text_image - salvare una regione rettangolare da una schermata di testo
display_text_image - visualizzare un'immagine sulla schermata di testo

Le seguenti routine funzionano solo in modalità grafica pixel (DOS32)

pixel - imposta il colore di un pixel o di un insieme di pixel
get_pixel - leggere il colore di un pixel o un insieme di pixel
disegnare la linea - connettere una serie di punti grafici con una linea
poligono - disegna una figura a n lati
ellisse - disegna un'ellisse o un cerchio
save_screen - salvare lo schermo in un file bitmap (.bmp)
salva immagine - salvare una regione rettangolare da uno schermo con grafica pixel
display_image - visualizzare un'immagine sullo schermo con grafica pixel

Multitasking

task_clock_start - riavviare l'orologio dello scheduler
task_clock_stop - fermare l'orologio dello scheduler
task_create - creare una nuova attività
elenco delle attività - ottenere un elenco di tutte le attività
task_schedule - pianificare un'attività per l'esecuzione
task_self - restituisce l'ID attività dell'attività corrente
task_status - lo stato corrente (attivo, sospeso, terminato) di un'attività
task_suspend - Sospendi un'attività.
task_yield - Controllo del rendimento, in modo che lo scheduler possa scegliere una nuova attività da eseguire.