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. |