buffer
*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
Bir tampon oluşturur.
Bir dizibir tampon oluşturur.
Bir tamponu bir dizidönüştürür.
Buffer'ın boyutunu baytlar halinde döndürür.
Belirli bir bitCount sayıdan 0 ile 32 arasında bir dizi bit okur, dahil.
Hafızdan 8 bit imzalı bir sayı okur.
Hafızdan 8 bit imzalı olmayan bir sayı okur.
Hafızdan 16 bit imzalı bir sayı okur.
Hafızdan 16 bit imzalanmamış bir sayı okur.
Hafızdan 32 bit imzalı bir sayı okur.
Hafızdan 32 bit imzalı olmayan bir sayı okur.
Hafızdan 32 bitlik bir yüzde değeri okur.
Hafızdan 64 bitlik bir yüzde değeri okur.
Verileri ile arasında belirli bir sayıdan yola çıkarak yazdırır, dahil.
Hafızaya 8 bit imzalı bir sayı yazar.
Hafızaya 8 bit imzalanmamış bir sayı yazılır. writes an 8-bit unsigned integer to the buffer.
Hafızaya 16 bit imzalı bir sayı yazılır.
Hafızaya 16 bit imzalanmamış bir sayı yazılır.
Hafızaya 32 bit imzalı bir sayı yazar.
Hafızaya 32 bit imzalanmamış bir sayı yazar.
Hafızaya 32 bitlik bir yüzde değeri yazar.
Hafızaya 64 bitlik bir yüzde değeri yazılır. writes a 64-bit floating-point value to the buffer.
Hafızdan bir dizeyi okur.
Hafızaya bir dize yazar.
Bufferlar arasındaki baytları kopyalar.
Bellek hafızasının bir bölümünü 8-bit imzalanmamış tamsayı değerine ayarlar.
İşlevler
readbits
Belirli bir bitCount sayıdan 0 ile 32 arasında bir dizi bit okur, dahil.Örneğin:
- buffer.readbits(b, 0, 8) , buffer.readu8(b, 0) ile eşdeğerdir.
- buffer.readbits(b, 0, 16) , buffer.readu16(b, 0) ile eşdeğerdir.
- buffer.readbits(b, 0, 32) , buffer.readu32(b, 0) ile eşdeğerdir.
- buffer.readbits(b, 0, 24) yükleyici, bellekten 24 bit okur.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Verileri kopyalamak için yükleyici.
Bellek havuzunun başlangıcından itibaren ofset, 0 'dan başlayarak.
Verileri almak için tampon.
Bellek havuzunun başlangıcından itibaren ofset, 0 'dan başlayarak.
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.