buffer
*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.
Sebuah buffer adalah objek yang mewakili blok mutable ukuran tetap dari memori. Perpustakaan buffer memberikan fungsi untuk pembuatan dan manipulasi objek buffer, menyediakan semua fungsinya di variabel global buffer .
Buffer dimaksudkan untuk digunakan sebagai struktur penyimpanan data biner tingkat rendah, menggantikan penggunaan string.pack() dan string.unpack() . Gunung kasus penggunaan termasuk membaca dan menulis format biner yang ada, bekerja dengan data dalam bentuk lebih kompak, serialisasi ke format biner khusus, dan umumnya bekerja deng
Ketika dilewati melalui API Roblox, termasuk mengirim bufffer melalui acara kustom, objek bufffer tidak tersimpan dan target akan menerima salinan. Mirip dengan batasan lainnya, objek bufffer yang sama tidak dapat digunakan dari beberapa Actor skrip (Parallel Luau).
Banyak fungsi menerimaOffset dalam bytes dari awal memori. Offset 0 dari awal memori akses ke Byte pertama. Semua OFFSET, angka hitung, dan ukuran harus angka positif. Jika bytes yang diakses oleh operasi baca atau menulis di luar memori, kesalahan dilemparkan.
Metode read dan write yang bekerja dengan angka dan float menggunakan sedikit-endian kode pengkodean.
Rangkuman
Fungsi
Menciptakan cache.
Menciptakan cache dari string.
Mengubah buffuer menjadi string.
Mengembalikan ukuran buffer dalam bytes.
Membaca intian tanda 8-bit dari buffer.
Membaca intian tanda 8-bit dari buffer.
Membaca intian tanda 16-bit dari buffer.
Membaca intian tersignal 16-bit dari buffer.
Membaca intian tanda 32-bit dari buffer.
Membaca intian tanda 32-bit dari buffer.
Membaca nilai floating-point 32-bit dari buffer.
Membaca nilai float-point 64-bit dari buffer.
Menulis angka signifikan 8-bit ke bufffer.
Menulis angka 8-bit yang tidak ditandai ke cache.
Menulis angka bertepatan 16-bit ke buffer.
Menulis angka signifikan 16-bit ke buffer.
Menulis angka signifikan 32-bit ke buffer.
Menulis angka signifikan 32-bit ke buffer.
Menulis nilai poin mengambang 32-bit ke bufffer.
Menulis nilai poin mengambang 64-bit ke bufffer.
Membaca string dari buffer.
Menulis string ke bufffer.
Mengkopi bajak laut antara buff.
Tetapkan wilayah dari memori bufffer ke beberapa nilai signifikan 8-bit.
Fungsi
create
Menciptakan batas ukuran buffuer dengan semua bajet dimulai dengan 0. Batas ukuran batas pemungkas adalah 1 GiB, atau 1,073,741,824 bajet. Ingatlah bahwa batas ukuran buffuer yang lebih besar mungkin gagal mengalokasi jika perangkat kehabisan memori.
Parameter
Ukuran tamper.
Memberikan nilai
readf32
Membaca data dari buffer dengan mengubah bit menjadi nilai 32-bit mengambang dan mengubahnya menjadi angka. Jika nilai mengambang mencerminkan pola bit yang mewakili NaN (tidak angka), nilai yang dikonversi dapat dikonversi ke representasi NaN yang berbeda.
Memberikan nilai
readf64
Membaca data dari buffer dengan mengubah bit menjadi nilai 64-bit pengapung dan mengubahnya menjadi angka. Jika nilai pengapung bertukar dengan pola bit yang mewakili NaN (tidak angka), nilai yang dikonversi dapat dikonversi ke representasi NaN yang berbeda.
Memberikan nilai
writei32
Menulis data ke bufffer dengan mengubah nomor menjadi inti tanda 32-bit dan mengubahnya kembali menjadi individual bit.
Parameter
Memberikan nilai
writestring
Menulis data dari string ke bufffer di offset yang ditentukan. Jika bufffer optionale count ditentukan, hanya count octet dari string yang diambil.
Parameter
Memberikan nilai
copy
Mengkopi count batangan dari source dimulai dari OFFSET sourceOffset ke dalam 1> target1> pada 4> targetOffset4> .
Mungkin untuk source dan target untuk menjadi sama. Mengkopi wilayah yang saling berdekatan di dalam wilayah sumber menyebabkan kopi wilayah yang sama ke dalam wilayah sumber dan kemudian wilayah itu dityalinkan ke wilayah tujuan.
Parameter
Buffer untuk menyalin data ke dalam.
Offset dari awal memori buffet, dimulai dari 0.
Buffer untuk mengambil data dari.
Offset dari awal memori buffet, dimulai dari 0.
Jumlah bajet untuk disinkronisasi. Jika diomong kosong, seluruh data source dimulai dari sourceOffset diambil.
Memberikan nilai
fill
Tetapkan count batangan di tamper awal dengan offset ke value .