Euforia - procedury biblioteczne

Dostępnych jest wiele procedur bibliotecznych. Niektóre są wbudowane bezpośrednio w tłumacza,ex.exe, exw.exe or exu. Inne są napisane w Euphorii i musisz dołączyć jeden z plików .e weuphoria\include katalogu, aby z nich korzystać.

Aby wskazać, jaki rodzaj obiektu może być przekazywany i zwracany, używane są następujące przedrostki -

S.Nr Prefiks i opis
1

x

ogólny przedmiot (atom lub sekwencja)

2

s

sekwencja

3

a

atom

4

i

Liczba całkowita

5

fn

liczba całkowita używana jako numer pliku

6

st

sekwencja łańcuchów lub atom jednoznakowy

Predefiniowane typy

Oprócz deklarowania zmiennych z tymi typami, możesz również wywoływać je tak jak zwykłe funkcje, aby sprawdzić, czy wartość jest określonego typu.

liczba całkowita - test, jeśli obiekt jest liczbą całkowitą
atom - test, jeśli obiekt jest atomem
sekwencja - test, jeśli obiekt jest sekwencją
obiekt - test, czy obiekt jest obiektem (zawsze prawda)

Manipulacja sekwencją

długość - zwraca długość sekwencji
powtarzać - powtórz obiekt n razy, aby utworzyć sekwencję o długości n
odwrócić - odwrócić sekwencję
dodać - dodaj nowy element na końcu sekwencji
poprzedzać - dodaj nowy element na początek sekwencji

Wyszukiwanie i sortowanie

porównać - porównaj dwa obiekty
równy - sprawdź, czy dwa obiekty są identyczne
odnaleźć - znajdź obiekt w sekwencji - rozpocznij wyszukiwanie od elementu numer 1
find_from - znajdź obiekt w sekwencji - rozpocznij wyszukiwanie od dowolnego numeru elementu
mecz - znajdź sekwencję jako wycinek innej sekwencji - zacznij wyszukiwanie od elementu numer 1
match_from - znajdź sekwencję jako wycinek innej sekwencji - rozpocznij wyszukiwanie od dowolnego numeru elementu
sortować - posortuj elementy sekwencji w porządku rosnącym
custom_sort - posortuj elementy sekwencji na podstawie dostarczonej funkcji porównującej

Dopasowywanie wzorców

niższy - przekonwertować atom lub sekwencję na małe litery
górny - przekonwertować atom lub sekwencję na wielkie litery
wildcard_match - dopasuj wzorzec zawierający? i * symbole wieloznaczne
wildcard_file - dopasować nazwę pliku do specyfikacji wieloznacznej

Math

Procedury te można zastosować do pojedynczych atomów lub do sekwencji wartości.

sqrt - obliczyć pierwiastek kwadratowy z obiektu
skraj - generować liczby losowe
grzech - obliczyć sinus kąta
arcsin - obliczyć kąt z zadanym sinusem
sałata - obliczyć cosinus kąta
arccos - obliczyć kąt z podanym cosinusem
dębnik - obliczyć styczną kąta
arctan - obliczyć styczną łuku liczby
log - obliczyć logarytm naturalny
podłoga - zaokrąglić w dół do najbliższej liczby całkowitej
reszta - oblicz resztę, gdy liczba zostanie podzielona przez drugą
moc - obliczyć liczbę podniesioną do potęgi
Liczba Pi - wartość matematyczna PI (3,14159 ...)

Bitowe operacje logiczne

Procedury te traktują liczby jako zbiory bitów binarnych, a operacje logiczne są wykonywane na odpowiednich bitach w binarnej reprezentacji liczb.

Nie ma procedur przesuwania bitów w lewo lub w prawo, ale ten sam efekt można osiągnąć, mnożąc lub dzieląc przez potęgę 2.

and_bits - wykonać logiczne AND na odpowiednich bitach
or_bits - wykonać logiczne OR na odpowiednich bitach
xor_bits - wykonać logiczne XOR na odpowiednich bitach
not_bits - wykonać logiczne NIE na wszystkich bitach

We / wy plików i urządzeń

Aby wykonać dane wejściowe lub wyjściowe w pliku lub urządzeniu, należy najpierw otworzyć plik lub urządzenie, a następnie użyć poniższych procedur do odczytu lub zapisu do niego, a następnie zamknąć plik lub urządzenie. open () poda numer pliku, który będzie używany jako pierwszy argument innych procedur we / wy. Niektóre pliki / urządzenia są otwierane automatycznie (jako pliki tekstowe) -

  • 0 - wejście standardowe
  • 1 - standardowe wyjście
  • 2 - błąd standardowy
otwarty - otwórz plik lub urządzenie
blisko - zamknij plik lub urządzenie
spłukać - przepłukać buforowane dane do pliku lub urządzenia
lock_file - zablokować plik lub urządzenie
unlock_file - odblokować plik lub urządzenie
wydrukować - wypisuje obiekt Euphoria w jednym wierszu, używając nawiasów klamrowych i przecinków {,,}, aby pokazać strukturę
pretty_print - wydrukuj obiekt Euphoria w ładnej, czytelnej formie, używając wielu linii i odpowiednich wcięć
? x - skrót do druku (1, x)
sprint - zwraca wydrukowany obiekt Euphoria jako sekwencję łańcuchów
printf - sformatowany wydruk do pliku lub urządzenia
sprintf - wydruk sformatowany zwrócony jako ciąg ciągów
stawia - wyprowadza sekwencję łańcuchów do pliku lub urządzenia
getc - odczytaj następny znak z pliku lub urządzenia
dostaje - przeczytaj następny wiersz z pliku lub urządzenia
get_bytes - odczytaj następne n bajtów z pliku lub urządzenia
prompt_string - zachęcić użytkownika do wprowadzenia ciągu
Weź klucz - sprawdź klawisz wciśnięty przez użytkownika, nie czekaj
wait_key - poczekaj, aż użytkownik naciśnie klawisz
otrzymać - odczytaj reprezentację dowolnego obiektu Euphoria z pliku
numer_powiadomienia - zachęcić użytkownika do wprowadzenia liczby
wartość - odczytaj reprezentację dowolnego obiektu Euphoria z łańcucha
szukać - przejdź do dowolnej pozycji bajtu w otwartym pliku
gdzie - zgłasza aktualną pozycję bajtów w otwartym pliku
current_dir - zwraca nazwę bieżącego katalogu
chdir - przejdź do nowego bieżącego katalogu
reż - zwraca pełne informacje o wszystkich plikach w katalogu
walk_dir - rekurencyjnie przeglądaj wszystkie pliki w katalogu
allow_break - pozwól control-c / control-Break na zakończenie programu lub nie
check_break - sprawdź, czy użytkownik nacisnął Ctrl-c lub Control-Break

Obsługa myszy (DOS32 i Linux)

W systemie Windows XP, jeśli chcesz, aby mysz DOS działała w oknie (innym niż pełny ekran), musisz wyłączyć tryb QuickEdit we Właściwościach okna DOS.

get_mouse - zwracanie "zdarzeń" myszy (kliknięcia, ruchy)
mouse_events - wybierz zdarzenia myszy do obserwowania
Wskaźnik myszy - wyświetlić lub ukryć wskaźnik myszy

System operacyjny

czas - liczba sekund od stałego punktu w przeszłości
tick_rate - ustawić liczbę tyknięć zegara na sekundę (DOS32)
data - bieżący rok, miesiąc, dzień, godzina, minuta, sekunda itp.
wiersz poleceń - wiersz polecenia używany do uruchamiania tego programu
getenv - pobierz wartość zmiennej środowiskowej
system - wykonać wiersz poleceń systemu operacyjnego
system_exec - wykonać program i pobrać jego kod zakończenia
anulować - przerwać wykonywanie
spać - zawiesić wykonanie na pewien czas
Platforma - dowiedz się, na jakim systemie operacyjnym pracujemy

Specjalne procedury zależne od maszyny

machine_func - wyspecjalizowane operacje wewnętrzne z wartością zwracaną
machine_proc - wyspecjalizowane operacje wewnętrzne bez wartości zwracanej

Debugowanie

ślad - dynamicznie włącza lub wyłącza śledzenie
profil - dynamicznie włącza lub wyłącza profilowanie

Grafika i dźwięk

Poniższe procedury umożliwiają wyświetlanie informacji na ekranie. W DOS ekran komputera można ustawić w jednym z wielu trybów graficznych.

Poniższe procedury działają we wszystkich trybach tekstowych i graficznych.

czysty ekran - wyczyść ekran
pozycja - ustaw linię i kolumnę kursora
get_position - zwraca linię i kolumnę kursora
tryb_grafiki - wybierz nowy tryb grafiki pikselowej lub tekstowej (DOS32)
video_config - zwraca parametry bieżącego trybu
zwój - przewiń tekst w górę lub w dół
owinąć - zawijanie linii kontrolnej przy prawej krawędzi ekranu
kolor tekstu - ustaw kolor tekstu pierwszego planu
bk_color - ustaw kolor tła
paleta - zmień kolor na jeden numer koloru (DOS32)
all_palette - zmień kolor dla wszystkich numerów kolorów (DOS32)
get_all_palette - pobierz wartości palety dla wszystkich kolorów (DOS32)
read_bitmap - odczytaj plik mapy bitowej (.bmp) i zwróć paletę oraz dwuwymiarową sekwencję pikseli
save_bitmap - utwórz plik mapy bitowej (.bmp), otrzymując paletę i dwuwymiarową sekwencję pikseli
get_active_page - zwraca aktualnie zapisywaną stronę (DOS32)
set_active_page - zmień aktualnie zapisywaną stronę na (DOS32)
get_display_page - powrót aktualnie wyświetlanej strony (DOS32)
set_display_page - zmień aktualnie wyświetlaną stronę (DOS32)
dźwięk - dźwięk na głośniku komputera (DOS32)

Poniższe procedury działają tylko w trybie tekstowym w trybach

kursor - wybierz kształt kursora
text_rows - ustaw liczbę linii na ekranie tekstowym
get_screen_char - dostać jedną postać z ekranu
put_screen_char - umieść jeden lub więcej znaków na ekranie
save_text_image - zapisać prostokątny obszar z ekranu tekstowego
display_text_image - wyświetlić obraz na ekranie tekstowym

Poniższe procedury działają tylko w trybach grafiki pikselowej (DOS32)

piksel - ustaw kolor piksela lub zestawu pikseli
get_pixel - odczytać kolor piksela lub zestawu pikseli
rysować linię - połącz szereg punktów graficznych linią
wielokąt - narysuj figurę n-stronną
elipsa - narysuj elipsę lub okrąg
save_screen - zapisz ekran do pliku mapy bitowej (.bmp)
zapisać obraz - zapisz prostokątny obszar z ekranu grafik pikselowych
Wyświetlać obraz - wyświetlić obraz na ekranie z grafiką pikselową

Wielozadaniowość

task_clock_start - zrestartuj zegar harmonogramu
task_clock_stop - zatrzymać zegar harmonogramu
task_create - utwórz nowe zadanie
Lista zadań - uzyskać listę wszystkich zadań
harmonogram_zadań - zaplanuj zadanie do wykonania
task_self - zwraca identyfikator bieżącego zadania
task_status - aktualny status (aktywne, zawieszone, zakończone) zadania
zawieszenie_zadania - Zawieś zadanie.
task_yield - Kontrola plonów, aby osoba planująca mogła wybrać nowe zadanie do uruchomienia.