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 .