Lua - biblioteki standardowe
Standardowe biblioteki Lua zapewniają bogaty zestaw funkcji, które są implementowane bezpośrednio przez C API i są wbudowane w język programowania Lua. Biblioteki te zapewniają usługi w języku programowania Lua, a także usługi zewnętrzne, takie jak operacje na plikach i bazach danych.
Te standardowe biblioteki wbudowane w oficjalne C API są dostarczane jako oddzielne moduły C. Obejmuje następujące -
- Biblioteka podstawowa, która zawiera bibliotekę podrzędną programu
- Biblioteka modułów
- Manipulacja strunami
- Manipulacja stołem
- Biblioteka matematyczna
- Plik wejściowy i wyjściowy
- Funkcje systemu operacyjnego
- Funkcje debugowania
Biblioteka podstawowa
Korzystaliśmy z podstawowej biblioteki w całym samouczku w ramach różnych tematów. Poniższa tabela zawiera linki do powiązanych stron i zawiera listę funkcji, które są omówione w różnych częściach tego samouczka Lua.
Sr.No. | Biblioteka / metoda i cel |
---|---|
1 | Error Handling Obejmuje funkcje obsługi błędów, takie jak assert, error, jak wyjaśniono w Lua - Obsługa błędów . |
2 | Memory Management Zawiera funkcje automatycznego zarządzania pamięcią związane z usuwaniem elementów bezużytecznych, jak wyjaśniono w Lua - Garbage Collection . |
3 | dofile ([filename]) Otwiera plik i wykonuje zawartość pliku jako fragment. Jeśli nie zostanie przekazany żaden parametr, funkcja ta wykonuje zawartość standardowego wejścia. Błędy zostaną przesłane do wywołującego. |
4 | _G Tak więc jest zmienną globalną, która przechowuje globalne środowisko (to znaczy _G._G = _G). Sam Lua nie używa tej zmiennej. |
5 | getfenv ([f]) Zwraca bieżące środowisko używane przez funkcję. f może być funkcją Lua lub liczbą określającą funkcję na tym poziomie stosu - Poziom 1 to funkcja wywołująca getfenv. Jeśli dana funkcja nie jest funkcją Lua lub f wynosi 0, getfenv zwraca środowisko globalne. Wartość domyślna f to 1. |
6 | getmetatable (object) Jeśli obiekt nie ma metatabeli, zwraca nil. W przeciwnym razie, jeśli metatablica obiektu ma pole „__metatable”, zwraca skojarzoną wartość. W przeciwnym razie zwraca metatabelę danego obiektu. |
7 | ipairs (t) Ta funkcja pobiera indeksy i wartości z tabel. |
8 | load (func [, chunkname]) Wczytuje fragment za pomocą funkcji func, aby pobrać jego fragmenty. Każde wywołanie funkcji func musi zwrócić ciąg, który jest zgodny z poprzednimi wynikami. |
9 | loadfile ([filename])) Podobne do load, ale pobiera porcję z pliku nazwa_pliku lub ze standardowego wejścia, jeśli nie podano nazwy pliku. |
10 | loadstring (string [, chunkname]) Podobne do load, ale pobiera fragment z podanego ciągu. |
11 | next (table [, index]) Umożliwia programowi przechodzenie przez wszystkie pola tabeli. Jego pierwszym argumentem jest tabela, a drugim indeksem w tej tabeli. next zwraca następny indeks tabeli i związaną z nim wartość. |
12 | pairs (t) Zawiesza uruchomiony program. Parametr przekazany do tej metody działa jako dodatkowe wartości zwracane do funkcji wznawiania. |
13 | print (...) Zawiesza uruchomiony program. Parametr przekazany do tej metody działa jako dodatkowe wartości zwracane do funkcji wznawiania. |
14 | rawequal (v1, v2) Sprawdza, czy v1 jest równe v2, bez wywoływania żadnej metametody. Zwraca wartość logiczną. |
15 | rawget (table, index) Pobiera rzeczywistą wartość tabeli [indeks] bez wywoływania żadnej metametody. tabela musi być stołem; indeks może mieć dowolną wartość. |
16 | rawset (table, index, value) Ustawia rzeczywistą wartość tabeli [indeks] na wartość, bez wywoływania żadnej metametody. tabela musi być tabelą, indeksować dowolną wartość inną niż nil i zawierać dowolną wartość Lua. Ta funkcja zwraca tabelę. |
17 | select (index, ...) Jeśli indeks jest liczbą, zwraca wszystkie argumenty po indeksie numeru argumentu. W przeciwnym razie indeks musi być ciągiem „#”, a funkcja select zwraca całkowitą liczbę otrzymanych dodatkowych argumentów. |
18 | setfenv (f, table) Ustawia środowisko, które ma być używane przez daną funkcję. f może być funkcją Lua lub liczbą określającą funkcję na tym poziomie stosu - Poziom 1 to funkcja wywołująca setfenv. setfenv zwraca podaną funkcję. W szczególnym przypadku, gdy f wynosi 0, setfenv zmienia środowisko działającego wątku. W tym przypadku setfenv nie zwraca żadnych wartości. |
19 | setmetatable (table, metatable) Ustawia metatabelę dla danej tabeli. (Nie możesz zmienić metatabli innych typów z Lua, tylko z C.) Jeśli metatablica jest zerowa, usuwa metatabelę z podanej tabeli. Jeśli oryginalna metatablica ma pole „__metatable”, zgłasza błąd. Ta funkcja zwraca tabelę. |
20 | tonumber (e [, base]) Próbuje zamienić argument na liczbę. Jeśli argument jest już liczbą lub łańcuchem zamiennym na liczbę, to tonumber zwraca tę liczbę; w przeciwnym razie zwraca nil. |
21 | tostring (e) Odbiera argument dowolnego typu i konwertuje go na ciąg w rozsądnym formacie. Aby uzyskać pełną kontrolę nad konwersją liczb, użyj string.format. |
22 | type (v) Zwraca typ jedynego argumentu zakodowanego jako ciąg. Możliwe wyniki tej funkcji to „nil” (ciąg znaków, a nie wartość nil), „liczba”, „ciąg znaków”, „wartość logiczna”, „tabela”, „funkcja”, „wątek” i „dane użytkownika”. |
23 | unpack (list [, i [, j]]) Zwraca elementy z podanej tabeli. |
24 | _VERSION Zmienna globalna (nie funkcja), która przechowuje łańcuch zawierający aktualną wersję interpretera. Bieżąca zawartość tej zmiennej to „Lua 5.1”. |
25 | Coroutines Zawiera funkcje manipulacji programami, jak wyjaśniono w Lua - Coroutines . |
Biblioteka modułów
Biblioteka modułów zapewnia podstawowe funkcje do ładowania modułów w Lua. Eksportuje jedną funkcję bezpośrednio w środowisku globalnym: require. Wszystko inne jest eksportowane w pakiecie tabel. Szczegóły dotyczące biblioteki modułów zostały wyjaśnione we wcześniejszym rozdziale Lua - samouczek dotyczący modułów .
Manipulacja strunami
Lua zapewnia bogaty zestaw funkcji do manipulacji na ciągach znaków. Wcześniejszy samouczek Lua - Strings omawia to szczegółowo.
Manipulacja stołem
Lua polega na tabelach w prawie każdym aspekcie swoich operacji. Wcześniejszy samouczek Lua - Tables omawia to szczegółowo.
Plik wejściowy i wyjściowy
Często potrzebujemy możliwości przechowywania danych w programowaniu, a to jest zapewniane przez standardowe funkcje biblioteczne dla plików I / O w Lua. Zostało to omówione we wcześniejszym samouczku Lua - File I / O.
Funkcje debugowania
Lua udostępnia bibliotekę debugowania, która zapewnia wszystkie prymitywne funkcje potrzebne do stworzenia własnego debugera. Zostało to omówione we wcześniejszym samouczku Lua - Debugowanie .