Lua 5.4 już jest, a oto jego zmiany i nowości

Po pięciu latach rozwoju, kilka dni temu zaprezentowano uruchomienie nowej wersji Lua 5.4, który jest kompaktowym i szybkim skryptowym językiem programowania, który jest szeroko stosowany jako język osadzony.

Lua łączy prostą składnię proceduralną z potężnymi możliwościami opisu danych za pomocą tablic asocjacyjnych i rozszerzalnej semantyki języka. Lua używa dynamicznego pisania; konstrukcje językowe są konwertowane na kod bajtowy, który działa na maszynie wirtualnej dziennika z automatycznym odśmiecaniem pamięci.

Co nowego w Lua 5.4?

W nowej wersji języka możemy stwierdzić, że się wyróżnia nowy tryb działania garbage collectora, który uzupełnia poprzednio dostępny tryb przyrostowego wyrzucania elementów bezużytecznych.

Nowy sposób oznacza częstsze uruchamianie krótszego śladu, która obejmuje tylko niedawno utworzone obiekty. Pełne przeszukiwanie wszystkich obiektów jest wykonywane tylko wtedy, gdy po krótkim indeksowaniu nie można było osiągnąć żądanych wskaźników zużycia pamięci. Takie podejście zapewnia wyższą wydajność i mniejsze zużycie pamięci w sytuacji przechowywania dużej liczby obiektów, które żyją przez krótki czas.

Kolejną zmianą, która wyróżnia się w Lua 5.4, jest możliwość definiowania stałych zdefiniowanych atrybutem „const”. Takie zmienne można przypisać tylko raz i po inicjalizacji nie można ich już zmieniać.

Też to podkreślono również nową obsługę zmiennych „Do zamknięcia”, które są przypisywane za pomocą atrybutu „zamknięte” i przypominają stałe zmienne lokalne (z atrybutem const), które różnią się od nich tym, że wartość jest zamknięta (wywoływana jest metoda „__close”) w dowolnym wyjściu obszaru widoczności.

Rodzaj "Dane użytkownika", który zapewnia możliwość przechowywania dowolnych danych C w zmiennych Lua (reprezentuje blok danych w pamięci lub zawiera wskaźnik C), może teraz zawierać wiele wartości (mają kilka metatartów).

Ponadto W Lua 5.4 zaproponowano nową semantykę do wyliczania liczb całkowitych w pętlach »for«. Liczba iteracji jest obliczana przed rozpoczęciem pętli, co pozwala uniknąć przepełnienia zmiennej i zapętlenia. Jeśli wartość początkowa jest większa niż wartość graniczna, generowany jest błąd.

Dodano system ostrzegawczy, która jest określana za pomocą wyrażenia ostrzegawczego i, w przeciwieństwie do błędów, nie wpływa na późniejsze wykonanie programu.

Z innych wyróżniających się zmian:

  • W operatorze „return” dodano informacje debugowania dotyczące argumentów funkcji i zwracanych wartości.
  • Funkcje konwertujące łańcuchy znaków na liczby zostały przeniesione do biblioteki „stringi”.
  • Wywołanie funkcji alokacji pamięci może teraz zakończyć się niepowodzeniem, jeśli rozmiar bloku pamięci zostanie zmniejszony.
  • Dodano obsługę nowego specyfikatora formatu „% p” do funkcji „string.format”
  • Biblioteka utf8 zapewnia obsługę kodów znaków z liczbami do 2 ^ 31.
  • Do funkcji „string.gmatch” dodano nowy opcjonalny argument „init”, który określa, od której pozycji rozpocząć wyszukiwanie (domyślnie zaczynając od 1 znaku).
  • Dodano nowe funkcje „lua_resetthread” (resetuje wątek, czyści cały stos wywołań i zamyka wszystkie zmienne „do zamknięcia”) i „coroutine.close”

Jak zainstalować Lua w systemie Linux?

Ze względu na dużą popularność języka jego interpreter można znaleźć w większości dystrybucji Linuksa.

do ci, którzy są użytkownikami Debiana, Ubuntu, Linux Mint lub dowolnego systemu wywodzącego się z nichMusimy tylko otworzyć terminal i wykonać w nim następujące polecenie:

sudo apt install lua5.4

Jeśli są użytkownicy Arch Linux, Manjaro, Antergos lub dowolnej dystrybucji wywodzącej się z Arch Linuxmożemy zainstalować interpreter z repozytoriów AUR, w tym celu wystarczy wpisać:

yay -S lua

Chociaż na Ci, którzy są użytkownikami CentOS, RHEL, Fedora lub dowolnej dystrybucji wywodzącej się z nich, możemy zainstalować ją za pomocą:

sudo dnf install lua

I gotowe, jestem już zainstalowany.


Treść artykułu jest zgodna z naszymi zasadami etyka redakcyjna. Aby zgłosić błąd, kliknij tutaj.

Bądź pierwszym który skomentuje

Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.