buffer

Pokaż przestarzałe

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.

Puffer jest obiektem, który reprezentuje zmiennego rozmiaru blok pamięci. Biblioteka pufferów dostarcza funkcje do tworzenia i manipulacji obiektami pufferami, zapewniając wszystkie funkcje w globalnej zmiennej buffer zmiennej zmiennej.

Buffer jest przeznaczony do używania niskiego poziomowego struktury przechowywania danych binarnych, zastępując użycia string.pack() i string.unpack(). Przykłady użycia obejmują czytanie i zapisanie istniejących formatów binarnych, pracę z danymi w bardziej kompaktnej formie, serIALizację do używanych formatów binarnych i ogólne

Gdy przesyłany jest poprzez API Roblox, w tym wysyłany jest bufer za pośrednictwem wydarzeń niestandardowych, tożsamość obiektu bufera nie jest zachowywana i odbiorca otrzyma kopię. Podobnie jak inne ograniczenia, ta sama obiektu bufera nie może być używana z wielu Actor skryptów (Parallel Luau).

Wiele funkcji akceptuje przesunięcie w bajtach od początku pamięci. Przesunięcie 0 od początku pamięci pamięci blokuje pierwszy bajt. Wszystkie przesunięcia, liczby i rozmiary powinny być liczbami niezakresowymi. Jeśli bajty, które są dostępne przez dowolną operację czytania lub zapisu są poza pamięcią, błąd jest rzucany.

Metody read i write, które działają z liczbami i floatami, używają niewielkiej ilości kodowania.

Podsumowanie

Funkcje

Funkcje

create

Tworzy tamczasowy puffer żądanego rozmiaru z wszystkimi inicjalizowanymi do 0 bajtami. Limit rozmiaru to 1 GiB, lub 1,073,741,824 bajtów. Pamiętaj, że większe puffer mogą nie zostać przydzielone, jeśli urządzenie ma niską pamięć.

Parametry

size: number

Rozmiar bufera.

Zwroty

fromstring

Tworzy zmodyfikowaną puffer do zawartości ciąg. Rozmiar zmodyfikowanej pamięci jest równy długości ciąg.

Parametry

str: string

Zwroty

tostring

Zwraca dane buferowe jako ciąg.

Parametry

Zwroty

Zwraca rozmiar bufera w bajtach.

Parametry

Zwroty

readi8

Czyta dane z pamięci masowej poprzez ponowne interpretowanie bajtów w odległości jako 8-bitowy liczbowy zapis znakowy i konwersję go do liczby.

Parametry

offset: number

Odległość od początku pamięci maszynowej, zaczynając od 0.

Zwroty

readu8

Czyta dane z pamięci masowej poprzez ponowne interpretowanie bajtów w odległości jako 8-bitowy liczbowy zapis znaków i konwersję go na liczbę.

Parametry

offset: number

Odległość od początku pamięci maszynowej, zaczynając od 0.

Zwroty

readi16

Czyta dane z pamięci masowej poprzez ponowne interpretowanie bajtów w odległości jako 16-bajtowy liczbowy zapis znakowy i jego konwersję na liczbę.

Parametry

offset: number

Odległość od początku pamięci maszynowej, zaczynając od 0.

Zwroty

readu16

Czyta dane z pamięci masowej poprzez ponowne interpretowanie bajtów w odległości jako 16-bajtowy liczbowy zapis znakowy i jego konwersję na liczbę.

Parametry

offset: number

Odległość od początku pamięci maszynowej, zaczynając od 0.

Zwroty

readi32

Czyta dane z pamięci masowej poprzez ponowne interpretowanie bajtów w odległości jako 32-bitowy liczbowy zapis i konwersję go na liczbę.

Parametry

offset: number

Odległość od początku pamięci maszynowej, zaczynając od 0.

Zwroty

readu32

Czyta dane z pamięci masowej poprzez ponowne interpretowanie bajtów w odległości jako 32-bitowy liczbowy zapis znakowy i jego konwersję na liczbę.

Parametry

offset: number

Odległość od początku pamięci maszynowej, zaczynając od 0.

Zwroty

readf32

Czyta dane z pamięci masowej poprzez ponowne interpretowanie bajtów w odległości jako wartość płynącego punktu 32-bitowego i konwersję go na liczbę. Jeśli wartość płynącego punktu NaN (nie jest liczbą) zgadza się z jakąkolwiek wzorem bitów, które reprezentują NaN (nie liczbę), zwrócona wartość może być przekonwertow

Parametry

offset: number

Odległość od początku pamięci maszynowej, zaczynając od 0.

Zwroty

readf64

Czyta dane z pamięci masowej poprzez ponowne interpretowanie bajtów w odległości jako wartość płynącego punktu 64-bitowego i konwersję go na liczbę. Jeśli wartość płynącego punktu NaN (nie jest liczbą) zgadza się z jakąkolwiek wzorem bitów, które reprezentują NaN (nie liczbę), zwrócona wartość może być przekonwertow

Parametry

offset: number

Odległość od początku pamięci maszynowej, zaczynając od 0.

Zwroty

writei8

void

Pisze dane na bufерze poprzez przekonwersję liczby na 8-bitowy znany liczebnik i zapis jednego bajta.

Parametry

offset: number

Odległość od początku pamięci maszynowej, zaczynając od 0.

value: number

Całkowity liczba w zakresie [-128, 127].

Zwroty

void

writeu8

void

Pisze dane na bufерze poprzez przekonwersję liczby na 8-bitowy liczby bez znaku i zapis jednego bajta.

Parametry

offset: number

Odległość od początku pamięci maszynowej, zaczynając od 0.

value: number

Całkowity liczba w zakresie [0, 255].

Zwroty

void

writei16

void

Pisze dane na buferze poprzez przekonwersję liczby na 16-bitowy znany liczebnik i jego ponowne interpretowanie jako pojedyncze bajty.

Parametry

offset: number

Odległość od początku pamięci maszynowej, zaczynając od 0.

value: number

Zakres liczb w zakresie [-32,768, 32,767].

Zwroty

void

writeu16

void

Pisze dane na buferze poprzez przekonwersję liczby na 16-bitowy, nieznakowany liczbowy i ponowne interpretowanie go jako pojedynczych bajtów.

Parametry

offset: number

Odległość od początku pamięci maszynowej, zaczynając od 0.

value: number

Całkowity liczba w zakresie [0, 65,536].

Zwroty

void

writei32

void

Pisze dane na buferze poprzez przekonwertowanie liczby w 32-bitowy znany liczba i ponowne interpretowanie go jako pojedynczych bajtów.

Parametry

offset: number

Odległość od początku pamięci maszynowej, zaczynając od 0.

value: number

Całkowity liczby w zakresie [-2,147,483,648, 2,147,483,647].

Zwroty

void

writeu32

void

Pisze dane na buferze poprzez przekonwersję liczby na 32-bitowy liczbowy zapis znany i jego ponowne interpretowanie jako pojedyncze bajty.

Parametry

offset: number

Odległość od początku pamięci maszynowej, zaczynając od 0.

value: number

Całkowity liczba w zakresie [0, 4,294,967,295].

Zwroty

void

writef32

void

Pisze dane na büfferze, konwertując liczbę w wartość 32-bajtowego punktu mnożenia i reinterpretując go jako pojedyncze bajty.

Parametry

offset: number

Odległość od początku pamięci maszynowej, zaczynając od 0.

value: number

Jeden z punktów mnożenia wielkości punktów pojedynczego położenia.

Zwroty

void

writef64

void

Pisze dane na büfferze, konwertując liczbę w wartość 64-bajtowego punktu mnożenia i reinterpretując go jako poszczególne bajty.

Parametry

offset: number

Odległość od początku pamięci maszynowej, zaczynając od 0.

value: number

Podwójna precyzyjna liczba punktów płynących.

Zwroty

void

readstring

Czyta ciąg długości count z pamięci offset określonego.

Parametry

offset: number

Odległość od początku pamięci maszynowej, zaczynając od 0.

count: number

Długość do przeczytane.

Zwroty

writestring

void

Pisze dane z wierszu w tamtym offset . Jeśli jest okazany opcjonalny count, zostaną wykonane tylko count bajtów z ciąg.

Parametry

offset: number

Odległość od początku pamięci maszynowej, zaczynając od 0.

value: string

Dane do zapisania.

count: number

Liczba bajtów do wzięcia z ciąg. Ta wartość nie może być większa niż długość wiersza.

Zwroty

void

copy

void

Kopiuje count bajtów z source zaczynając od odległości sourceOffset do 1> target1> na odległości 4> targetOffset4>.

Możliwe jest, aby source i target były tego samego. Kopiowanie regionu nadlappendego w tym samym buforze działa tak, jakby region źródła był kopiowany do tymczasowego buforu i następnie bufor jest kopiowany na celu.

Parametry

target: buffer

Puffer do kopiowania danych.

targetOffset: number

Odległość od początku pamięci maszynowej, zaczynając od 0.

source: buffer

Puffer, aby odebrać dane.

sourceOffset: number

Odległość od początku pamięci maszynowej, zaczynając od 0.

Wartość domyślna: 0
count: number

Liczba bajtów do skopiowania. Jeśli zostanie pominięty, cały source danych zaczynający się od sourceOffset jest kopiowany.

Zwroty

void

fill

void

Ustawia count bajtów w pamięci wskazanym offset do value .

Parametry

Puffer, aby zapisać dane.

offset: number

Odległość od początku pamięci maszynowej, zaczynając od 0.

value: number

Całkowity liczba w zakresie [0, 255].

count: number

Liczba bajtów do zapisu. Jeśli zostanie pominięty, wszystkie bajty po określonym przesunięciu są ustawiać.

Zwroty

void