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