buffer

Artık kullanılmayanları göster

*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.

Bir tampon, sabit boyutlu değiştirilebilir bir bellek bloğunu temsil eden bir nesnedir.Geçici bellek kütüphanesi, geçici bellek nesnelerinin oluşturulması ve manipülasyonu için işlevler sağlar ve tüm işlevlerini küresel buffer değişken içinde sağlar.

Geçici, düşük seviyeli bir ikili veri depolama yapısı olarak kullanılmak üzere tasarlanmıştır ve string.pack() ve string.unpack() 'nin kullanımlarını değiştirir.Kullanım durumları mevcut ikili formatların okunmasını ve yazılmasını, daha kompakt bir formda veri ile çalışmayı, özel ikili formatlara seri olarak serilemeyi ve sabit uzunluklu sayılar ve noktalı virgüller gibi yerli bellek türleri ile genel çalışmayı içerir.

Roblox API'lerden geçerken, özel etkinlikler aracılığıyla bir tampon göndermek de dahil olmak üzere, tampon nesnesinin kimliği korunmaz ve hedef bir kopya alacaktır.Diğer sınırlamalara benzer şekilde, aynı yük dengeleme nesnesi çoklu Actor senaryolardan kullanılamaz (Paralel Luau).

Fonksiyonların çoğu, yükleyici başlangıcından başlayarak bayt başına bir ofset kabul eder.Hafıza bloğu erişiminin başlangıcından 0 ofseti, ilk bayiyi erişir.Tüm ofsetler, sayılar ve boyutlar negatif olmayan tamsayı sayıları olmalıdır.Herhangi bir okuma veya yazma işlemi tarafından erişilen baytlar bellek dışındaysa, bir hata atılır.

Sayılar ve float'larla çalışan read ve write yöntemleri az-bitli kodlama kullanır.

Özet

İşlevler

İşlevler

create

Talep edilen boyuta sahip bir yükleyici yığın oluşturur ve tüm veriler 0 'ye yüklenir.Boyut sınırı 1 GiB veya 1,073,741,824 bayttır.Daha büyük bellek yığınlarının, cihazın hafızada düşük olduğunda atanamayacağını unutmayın.

Parametreler

size: number

Destekleyici boyutu.

Dönüşler

fromstring

diziiçeriğine başlatılmış bir geçici oluşturur. Geçici boyutu diziuzunluğuna eşittir.

Parametreler

str: string

Dönüşler

tostring

Veri yığınını bir diziolarak döndürür.

Parametreler

Dönüşler

Buffer'ın boyutunu baytlar halinde döndürür.

Parametreler

Dönüşler

readbits

Belirli bir bitCount sayıdan 0 ile 32 arasında bir dizi bit okur, dahil.Örneğin:

Not that 0 bit genişliği yalnızca bit sayısı dinamik olan genelleşmiş durumlarda hata yapmamak için desteklenir ve 0 bit okuması 0 döndürür.Ayrıca, bu arada, çünkü arabelleğin maksimum boyutu 1 GB'dır, bitOffset diğer arabellek işlevlerindeki bayt ofseti gibi 32 bit sayı olarak ele alınamaz.

Parametreler

bitOffset: number

Bellek havuzunun başlangıcından itibaren ofset, 0 'dan başlayarak.

bitCount: number

Okuyacak tamsayısal bit sayısı. Bu değer 0 ile 32 arasında değilse hata atılır.

Dönüşler

readi8

Veri yığınındaki sayıları yeniden yorumlayarak ofsetteki baytları 8 bitli imzalı bir sayıya dönüştürerek ve bunu bir sayıya dönüştürerek verileri okur. Reads the data from the buffer by reinterpreting bytes at the offset as an 8-bit signed integer and converting it into a number.

Parametreler

offset: number

Bellek havuzunun başlangıcından itibaren ofset, 0 'dan başlayarak.

Dönüşler

readu8

Veri yığınındaki sayıları yeniden yorumlayarak ofsetteki baytları 8 bitlik imzalı olmayan bir sayıya dönüştürerek verileri okur ve bunu bir sayıya dönüştürür.

Parametreler

offset: number

Bellek havuzunun başlangıcından itibaren ofset, 0 'dan başlayarak.

Dönüşler

readi16

Veri yığınındaki sayıları yeniden yorumlayarak ofsetteki baytları 16 bitli imzalı bir sayıya dönüştürerek verileri okur ve bunu bir sayıya dönüştürür.

Parametreler

offset: number

Bellek havuzunun başlangıcından itibaren ofset, 0 'dan başlayarak.

Dönüşler

readu16

Veri yığınındaki sayıları yeniden yorumlayarak ofsetteki baytları 16 bitlik imzalı olmayan bir sayıya dönüştürür ve bunu bir sayıya dönüştürür. Reads the data from the buffer by reinterpreting bytes at the offset as a 16-bit unsigned integer and converting it into a number

Parametreler

offset: number

Bellek havuzunun başlangıcından itibaren ofset, 0 'dan başlayarak.

Dönüşler

readi32

Veri yığınındaki sayıları yeniden yorumlayarak ofsetteki baytları 32 bitli imzalı bir sayıya dönüştürerek ve bunu bir sayıya dönüştürerek verileri okur. Reads the data from the buffer by reinterpreting bytes at the offset as a 32-bit signed integer and converting it into a number.

Parametreler

offset: number

Bellek havuzunun başlangıcından itibaren ofset, 0 'dan başlayarak.

Dönüşler

readu32

Verileri ofsetteki baytları yeniden yorumlayarak 32 bitlik imzalı olmayan bir sayıya dönüştürerek ve bunu bir sayıya dönüştürerek arayüzden veri okur. Reads the data from the buffer by reinterpreting bytes at the offset as a 32-bit unsigned integer and converting it into a number

Parametreler

offset: number

Bellek havuzunun başlangıcından itibaren ofset, 0 'dan başlayarak.

Dönüşler

readf32

Verileri ofsetteki baytları yeniden yorumlayarak 32 bitlik bir yüzde nokta değeri olarak yeniden okur ve bunu bir sayıya dönüştürür.Yüzde değeri NaN (bir sayı değil) temsil eden herhangi bir bit modeline eşleşirse, döndürülen değer farklı bir sessiz NaN temsiline dönüştürülebilir.

Parametreler

offset: number

Bellek havuzunun başlangıcından itibaren ofset, 0 'dan başlayarak.

Dönüşler

readf64

Verileri yeniden yorumlayarak yerindeki baytları bir 64-bit düzenli ifade olarak okur ve bunu bir sayıya dönüştürür.Yüzde değeri NaN (bir sayı değil) temsil eden herhangi bir bit modeline eşleşirse, döndürülen değer farklı bir sessiz NaN temsiline dönüştürülebilir.

Parametreler

offset: number

Bellek havuzunun başlangıcından itibaren ofset, 0 'dan başlayarak.

Dönüşler

writebits

()

Verileri ile arasında belirli bir sayıdan yola çıkarak yazdırır, dahil.value 32-bit sayı olarak ele alınır ve yalnızca bitCount en az önemli bitler yazılır.

Not that 0 bit genişliği yalnızca bit sayısı dinamik olan genel durumlarda hata yapmamak için desteklenir ve 0 bit yazmak hiçbir etkisi yoktur.Ayrıca, bu arada, çünkü arabelleğin maksimum boyutu 1 GB'dır, bitOffset diğer arabellek işlevlerindeki bayt ofseti gibi 32 bit sayı olarak ele alınamaz.

Parametreler

bitOffset: number

Bellek havuzunun başlangıcından itibaren ofset, 0 'dan başlayarak.

bitCount: number

Yazmak için tamsayı bit sayısı. Bu değer 0 ile 32 arasında değilse hata atılır.

value: number

İmzalanmamış 32-bit sayı. Sadece bitCount en az önemli bitler yazılır.

Dönüşler

()

writei8

()

Sayıyı 8 bit imzalı bir bütüne dönüştürerek yazıp bir tek bayt yazarak veriyi belleğe yazar.

Parametreler

offset: number

Bellek havuzunun başlangıcından itibaren ofset, 0 'dan başlayarak.

value: number

Menzilde bir tamsayı [128, 127] sayısı.

Dönüşler

()

writeu8

()

Sayıyı 8 bitlik imzalanmamış bir sayıya dönüştürerek veriye yazma alanına yazar ve tek bir bayt yazar.

Parametreler

offset: number

Bellek havuzunun başlangıcından itibaren ofset, 0 'dan başlayarak.

value: number

Menzilde bir tamsayı [0, 255] .

Dönüşler

()

writei16

()

Sayıyı 16 bitli imzalı bir bütüne dönüştürerek yazıcıya veri yazar ve bunu bireysel baytlar olarak yeniden yorumlar.

Parametreler

offset: number

Bellek havuzunun başlangıcından itibaren ofset, 0 'dan başlayarak.

value: number

Menzilde bir tamsayı [32,768, 32,767] sayısı.

Dönüşler

()

writeu16

()

Sayıyı 16 bitlik imzalanmamış bir sayıya dönüştürerek yazılı verileri belleğe yazar ve bunları bireysel baytlar olarak yeniden yorumlar.

Parametreler

offset: number

Bellek havuzunun başlangıcından itibaren ofset, 0 'dan başlayarak.

value: number

Menzildeki bir tamsayı [0, 65,535] .

Dönüşler

()

writei32

()

Sayıyı 32 bit imzalı bir bütüne dönüştürerek yazıcıya veri yazar ve bunu bireysel baytlar olarak yeniden yorumlar.

Parametreler

offset: number

Bellek havuzunun başlangıcından itibaren ofset, 0 'dan başlayarak.

value: number

Menzilde bir tamsayı [2,147,483,648, 2,147,483,647] sayısı.

Dönüşler

()

writeu32

()

Sayıyı 32 bitlik imzalanmamış bir sayıya dönüştürerek yazılı verileri belleğe yazar ve bunları bireysel baytlar olarak yeniden yorumlar.

Parametreler

offset: number

Bellek havuzunun başlangıcından itibaren ofset, 0 'dan başlayarak.

value: number

Menzildeki bir tamsayı [0, 4,294,967,295] .

Dönüşler

()

writef32

()

Sayıyı 32 bitlik bir yüzlü nokta değeri olarak dönüştürerek veriye yazma alanına yazar ve bunu bireysel baytlar olarak yeniden yorumlar.

Parametreler

offset: number

Bellek havuzunun başlangıcından itibaren ofset, 0 'dan başlayarak.

value: number

Tek hassasiyetli yüzde sabit nokta sayısı.

Dönüşler

()

writef64

()

Sayıyı 64 bitlik bir yüzlü nokta değeri olarak dönüştürerek veriye yazma alanına yazar ve bunu bireysel baytlar olarak yeniden yorumlar.

Parametreler

offset: number

Bellek havuzunun başlangıcından itibaren ofset, 0 'dan başlayarak.

value: number

Çift hassasiyetli bir yüzde puan sayısı.

Dönüşler

()

readstring

Belirtilen offset 'deki bellekten bir uzunluk count çizgisi okur.

Parametreler

offset: number

Bellek havuzunun başlangıcından itibaren ofset, 0 'dan başlayarak.

count: number

Okuyacak uzunluk.

Dönüşler

writestring

()

Bir dizeden belirtilen offset noktasında belleğe veri yazılır.Opsiyonel bir count belirtilirse, sadece count bayt s diziden alınır.

Parametreler

offset: number

Bellek havuzunun başlangıcından itibaren ofset, 0 'dan başlayarak.

value: string

Yazılacak veri.

count: number

Dizeden alınacak bayt sayısı. Bu değer dize uzunluğundan daha büyük olamaz.

Dönüşler

()

copy

()

Kopyalar başlangıç ​​konumundan itibaren başlayarak 'a kadar 256 bayt kopyalar .

source ve target aynı olması mümkündür.Aynı belleğin içinde aşırılan bir bölgeyi kopyalamak, kaynak bölgesinin geçici bir belleğe kopyalanması ve ardından bu bellek hedefe kopyalanması gibi davranır.

Parametreler

target: buffer

Verileri kopyalamak için yükleyici.

targetOffset: number

Bellek havuzunun başlangıcından itibaren ofset, 0 'dan başlayarak.

source: buffer

Verileri almak için tampon.

sourceOffset: number

Bellek havuzunun başlangıcından itibaren ofset, 0 'dan başlayarak.

Varsayılan değer: 0
count: number

Kopyalanacak bayt sayısı. Eğer atlanırsa, source tüm veriler sourceOffset 'dan başlayarak kopyalanır.

Dönüşler

()

fill

()

Belirtilen offset noktadan başlayarak yükleyiciye count baytları ayarlar ve value sonlandırır.

Parametreler

Verileri yazmak için yükleyici.

offset: number

Bellek havuzunun başlangıcından itibaren ofset, 0 'dan başlayarak.

value: number

Menzilde bir tamsayı [0, 255] .

count: number

Yazılacak bayt sayısı. Eğer atlanırsa, belirtilen ofsetten sonraki tüm baytlar ayarlanır.

Dönüşler

()