Euphoria - Routines de la bibliothèque

Un grand nombre de routines de bibliothèque sont fournis. Certains sont intégrés directement à l'interprète,ex.exe, exw.exe or exu. D'autres sont écrits en Euphoria et vous devez inclure l'un des fichiers .e danseuphoria\include répertoire pour les utiliser.

Pour indiquer quel type d'objet peut être passé et retourné, les préfixes suivants sont utilisés -

S. Non Préfixe et description
1

x

un objet général (atome ou séquence)

2

s

une séquence

3

a

un atome

4

i

un nombre entier

5

fn

un entier utilisé comme numéro de fichier

6

st

une séquence de chaînes ou un atome à un seul caractère

Types prédéfinis

En plus de déclarer des variables avec ces types, vous pouvez également les appeler comme des fonctions ordinaires, afin de tester si une valeur est d'un certain type.

entier - tester si un objet est un entier
atome - tester si un objet est un atome
séquence - tester si un objet est une séquence
objet - tester si un objet est un objet (toujours vrai)

Manipulation de séquence

longueur - renvoie la longueur d'une séquence
répéter - répéter un objet n fois pour former une séquence de longueur n
inverser - inverser une séquence
ajouter - ajouter un nouvel élément à la fin d'une séquence
ajouter - ajouter un nouvel élément au début d'une séquence

Recherche et tri

comparer - comparer deux objets
égal - tester si deux objets sont identiques
trouver - trouver un objet dans une séquence - commencer la recherche à partir de l'élément numéro 1
find_from - trouver un objet dans une séquence - commencer la recherche à partir de n'importe quel numéro d'élément
rencontre - trouver une séquence comme une tranche d'une autre séquence - commencer la recherche à partir de l'élément numéro 1
match_from - trouver une séquence comme une tranche d'une autre séquence - commencer la recherche à partir de n'importe quel numéro d'élément
Trier - trier les éléments d'une séquence par ordre croissant
custom_sort - trier les éléments d'une séquence en fonction d'une fonction de comparaison que vous fournissez

Correspondance de motif

inférieur - convertir un atome ou une séquence en minuscules
plus haut - convertir un atome ou une séquence en majuscules
wildcard_match - correspond à un modèle contenant? et * caractères génériques
wildcard_file - faire correspondre un nom de fichier à une spécification générique

Math

Ces routines peuvent être appliquées à des atomes individuels ou à des séquences de valeurs.

sqrt - calculer la racine carrée d'un objet
rand - générer des nombres aléatoires
péché - calculer le sinus d'un angle
arcsin - calculer l'angle avec un sinus donné
cos - calculer le cosinus d'un angle
arccos - calculer l'angle avec un cosinus donné
bronzer - calculer la tangente d'un angle
arctan - calculer l'arc tangente d'un nombre
Journal - calculer le logarithme naturel
sol - arrondir à l'entier inférieur le plus proche
reste - calculer le reste lorsqu'un nombre est divisé par un autre
Puissance - calculer un nombre élevé à une puissance
PI - la valeur mathématique PI (3.14159 ...)

Opérations logiques au niveau du bit

Ces routines traitent les nombres comme des collections de bits binaires, et les opérations logiques sont effectuées sur les bits correspondants dans la représentation binaire des nombres.

Il n'y a pas de routine pour déplacer les bits vers la gauche ou la droite, mais vous pouvez obtenir le même effet en multipliant ou en divisant par des puissances de 2.

and_bits - effectuer un ET logique sur les bits correspondants
or_bits - effectuer OU logique sur les bits correspondants
xor_bits - exécuter XOR logique sur les bits correspondants
not_bits - exécuter PAS logique sur tous les bits

E / S de fichiers et de périphériques

Pour effectuer une entrée ou une sortie sur un fichier ou un périphérique, vous devez d'abord ouvrir le fichier ou le périphérique, puis utiliser les routines ci-dessous pour le lire ou y écrire, puis fermer le fichier ou le périphérique. open () vous donnera un numéro de fichier à utiliser comme premier argument des autres routines d'E / S. Certains fichiers / appareils s'ouvrent automatiquement pour vous (sous forme de fichiers texte) -

  • 0 - entrée standard
  • 1 - sortie standard
  • 2 - erreur standard
ouvert - ouvrir un fichier ou un appareil
Fermer - fermer un fichier ou un appareil
affleurer - vider les données mises en mémoire tampon vers un fichier ou un périphérique
lock_file - verrouiller un fichier ou un appareil
Déverrouiller le fichier - déverrouiller un fichier ou un appareil
impression - imprime un objet Euphoria sur une ligne, avec des accolades et des virgules {,,} pour afficher la structure
pretty_print - imprimer un objet Euphoria dans une belle forme lisible, en utilisant plusieurs lignes et une indentation appropriée
? X - raccourci pour imprimer (1, x)
sprint - renvoie un objet Euphoria imprimé sous forme de séquence de chaînes
printf - impression formatée vers un fichier ou un périphérique
sprintf - impression formatée renvoyée sous forme de séquence de chaînes
met - sortie d'une séquence de chaînes vers un fichier ou un périphérique
getc - lire le caractère suivant d'un fichier ou d'un périphérique
obtient - lire la ligne suivante à partir d'un fichier ou d'un périphérique
get_bytes - lire les n octets suivants à partir d'un fichier ou d'un périphérique
prompt_string - invite l'utilisateur à entrer une chaîne
Obtenir la clé - vérifier la touche enfoncée par l'utilisateur, n'attendez pas
wait_key - attendre que l'utilisateur appuie sur une touche
avoir - lire la représentation de n'importe quel objet Euphoria à partir d'un fichier
prompt_number - invite l'utilisateur à entrer un nombre
valeur - lire la représentation de n'importe quel objet Euphoria à partir d'une chaîne
chercher - déplacer vers n'importe quelle position d'octet dans un fichier ouvert
- signaler la position actuelle de l'octet dans un fichier ouvert
rép_actuel - renvoie le nom du répertoire courant
chdir - passer à un nouveau répertoire courant
dir - retourne des informations complètes sur tous les fichiers d'un répertoire
walk_dir - parcourir de manière récursive tous les fichiers d'un répertoire
allow_break - permettre à control-c / control-Break de terminer votre programme ou non
check_break - vérifier si l'utilisateur a appuyé sur control-c ou control-break

Prise en charge de la souris (DOS32 et Linux)

Sous Windows XP, si vous souhaitez que la souris DOS fonctionne dans une fenêtre (non plein écran), vous devez désactiver le mode QuickEdit dans les Propriétés de la fenêtre DOS.

get_mouse - retourne les "événements" de la souris (clics, mouvements)
mouse_events - sélectionner les événements de souris à surveiller
pointeur_souris - afficher ou masquer le pointeur de la souris

Système opérateur

temps - nombre de secondes depuis un point fixe dans le passé
tick_rate - définir le nombre de coups d'horloge par seconde (DOS32)
Date - année, mois, jour, heure, minute, seconde en cours, etc.
ligne de commande - ligne de commande utilisée pour exécuter ce programme
getenv - obtenir la valeur d'une variable d'environnement
système - exécuter une ligne de commande du système d'exploitation
system_exec - exécuter un programme et obtenir son code de sortie
avorter - terminer l'exécution
dormir - suspendre l'exécution pendant un certain temps
Plate-forme - découvrez sur quel système d'exploitation fonctionnons-nous

Routines spéciales dépendant de la machine

machine_func - opérations internes spécialisées avec une valeur de retour
machine_proc - opérations internes spécialisées sans valeur de retour

Débogage

trace - active ou désactive dynamiquement le traçage
profil - active ou désactive dynamiquement le profilage

Graphiques et son

Les routines suivantes vous permettent d'afficher des informations à l'écran. Sous DOS, l'écran du PC peut être placé dans l'un des nombreux modes graphiques.

Les routines suivantes fonctionnent dans tous les modes texte et graphique en pixels.

écran propre - effacer l'écran
position - définir la ligne et la colonne du curseur
get_position - retourne la ligne et la colonne du curseur
graphic_mode - sélectionnez un nouveau mode pixel-graphisme ou texte (DOS32)
video_config - renvoyer les paramètres du mode courant
faire défiler - faire défiler le texte vers le haut ou vers le bas
emballage - enroulement de la ligne de contrôle sur le bord droit de l'écran
text_color - définir la couleur du texte de premier plan
bk_color - définir la couleur d'arrière-plan
palette - changer la couleur pour un numéro de couleur (DOS32)
all_palette - changer la couleur de tous les numéros de couleur (DOS32)
get_all_palette - obtenir les valeurs de palette pour toutes les couleurs (DOS32)
read_bitmap - lire un fichier bitmap (.bmp) et renvoyer une palette et une séquence 2D de pixels
save_bitmap - créer un fichier bitmap (.bmp), avec une palette et une séquence 2D de pixels
get_active_page - retourne la page en cours d'écriture (DOS32)
set_active_page - changer la page en cours d'écriture (DOS32)
get_display_page - retourne la page en cours d'affichage (DOS32)
set_display_page - changer la page en cours d'affichage (DOS32)
du son - émettre un son sur le haut-parleur du PC (DOS32)

Les routines suivantes fonctionnent dans le texte dans les modes uniquement

le curseur - sélectionner la forme du curseur
text_rows - définir le nombre de lignes sur l'écran de texte
get_screen_char - obtenir un personnage de l'écran
put_screen_char - mettre un ou plusieurs personnages à l'écran
save_text_image - enregistrer une région rectangulaire à partir d'un écran de texte
display_text_image - afficher une image sur l'écran de texte

Les routines suivantes fonctionnent uniquement en mode pixel-graphique (DOS32)

pixel - définir la couleur d'un pixel ou d'un ensemble de pixels
get_pixel - lire la couleur d'un pixel ou d'un ensemble de pixels
dessiner une ligne - connecter une série de points graphiques avec une ligne
polygone - dessiner une figure à n côtés
ellipse - dessiner une ellipse ou un cercle
save_screen - enregistrer l'écran dans un fichier bitmap (.bmp)
save_image - enregistrer une région rectangulaire à partir d'un écran graphique en pixels
afficher l'image - afficher une image sur l'écran graphique en pixels

Multitâche

task_clock_start - redémarrer l'horloge du planificateur
task_clock_stop - arrêter l'horloge du planificateur
task_create - créer une nouvelle tâche
liste de tâches - obtenir une liste de toutes les tâches
task_schedule - planifier une tâche à exécuter
task_self - retourne l'id de la tâche en cours
task_status - l'état actuel (actif, suspendu, terminé) d'une tâche
task_suspend - Suspendre une tâche.
task_yield - Contrôle du rendement, afin que le planificateur puisse choisir une nouvelle tâche à exécuter.