Biblioteka math
floor, ceil, random i inne funkcje.
Biblioteka math to bezpłatna lekcja Lua Academy na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Lua Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Lua Academy zawiera 4 lekcji w sumie.
Poznaj bibliotekę math
Lua zawiera wbudowaną bibliotekę math z wieloma przydatnymi funkcjami i stałymi do pracy z liczbami.
Jej funkcje wywołuje się z prefiksem math., na przykład math.sqrt(9). Nie jest wymagana żadna konfiguracja ani instrukcja importu.
print(math.sqrt(9))Wartość bezwzględna
math.abs() zwraca wartość bezwzględną liczby, usuwając ewentualny znak minus.
Dlatego math.abs(-5) daje 5, a math.abs(5) również daje 5.
print(math.abs(-5))
print(math.abs(3))Zaokrąglanie w dół i w górę
Funkcji math.floor() należy używać do zaokrąglania w dół do najbliższej liczby całkowitej, a funkcji math.ceil() do zaokrąglania w górę.
math.floor(3.7)to3math.ceil(3.2)to4
print(math.floor(3.7))
print(math.ceil(3.2))Maksimum i minimum
math.max() zwraca największy ze swoich argumentów, a math.min() — najmniejszy.
Można przekazać dowolną liczbę liczb.
print(math.max(3, 9, 1))
print(math.min(3, 9, 1))Pierwiastek kwadratowy
math.sqrt() oblicza pierwiastek kwadratowy z liczby. Wynikiem jest liczba zmiennoprzecinkowa.
W przypadku innych pierwiastków należy użyć operatora ^, na przykład 27 ^ (1/3) do obliczenia pierwiastka sześciennego.
print(math.sqrt(16))
print(math.sqrt(2))Potęgi
Za pomocą operatora ^ można podnosić liczby do potęgi. Jest to standardowy sposób we współczesnym Lua.
Na przykład 2 ^ 10 daje wynik 1024.0. Wynik jest zawsze liczbą zmiennoprzecinkową.
print(2 ^ 10)
print(5 ^ 2)Stała pi
Biblioteka udostępnia stałą math.pi, czyli wartość liczby pi (około 3,14159).
Jest ona przydatna w obliczeniach dotyczących okręgów i trygonometrii, na przykład przy wyznaczaniu pola koła.
local r = 2
print(math.pi * r ^ 2)Nieskończoność i huge
math.huge reprezentuje dodatnią nieskończoność, czyli największą możliwą wartość liczby zmiennoprzecinkowej.
Często używa się jej jako wartości początkowej przy wyszukiwaniu minimum, ponieważ każda liczba rzeczywista jest od niej mniejsza.
print(math.huge)
print(-math.huge)Liczby losowe
math.random() zwraca losową liczbę. Bez argumentów zwraca liczbę zmiennoprzecinkową od 0 do 1.
Z jednym argumentem całkowitym n zwraca liczbę całkowitą od 1 do n. Z dwoma argumentami zwraca wartość z tego zakresu.
print(math.random(1, 6))Inicjalizowanie generatora liczb losowych
math.randomseed() służy do ustawienia punktu początkowego generatora liczb losowych. Ustawienie ziarna na bieżący czas powoduje, że przy każdym uruchomieniu otrzymuje się inne sekwencje.
W Lua 5.4 generator otrzymuje ziarno automatycznie, ale jawne ustawienie ziarna pozwala uzyskać powtarzalne wyniki, gdy jest to potrzebne.
math.randomseed(42)
print(math.random(1, 100))Trygonometria
Biblioteka zawiera funkcje trygonometryczne, takie jak math.sin(), math.cos() i math.tan(). Oczekują one kątów wyrażonych w radianach, a nie w stopniach.
Aby dokonać konwersji, należy pomnożyć liczbę stopni przez math.pi / 180.
print(math.sin(math.pi / 2))
print(math.cos(0))Szybki test
Sprawdź swoją wiedzę o bibliotece matematycznej.
Podsumowanie
Poznałeś bibliotekę math: funkcje abs, floor, ceil, max, min, sqrt oraz funkcje trygonometryczne.
Poznałeś także stałe math.pi i math.huge, a także funkcje math.random i math.randomseed do generowania liczb losowych.
W następnej części nauczysz się formatować liczby, aby uzyskać czytelne dane wyjściowe.
Często zadawane pytania
Czy lekcja „Biblioteka math” jest bezpłatna?
Tak — pełny tekst „Biblioteka math” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Lua Academy, przejdź na CoddyKit PRO. Kurs Lua Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Biblioteka math”?
floor, ceil, random i inne funkcje. Ćwiczysz Lua Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Lua Academy?
Nie wymagamy żadnego doświadczenia. Lua Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.
Ile czasu zajmuje lekcja „Biblioteka math”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Lua Academy?
Tak. Każda lekcja Lua Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.