buffer

Afficher les obsolètes

*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.

Un tampon est un objet qui représente un bloc de mémoire de taille fixe modifiable. La bibliothèque tampon fournit des fonctions pour la création et la manipulation des objets tampon, fournissant toutes ses fonctions dans la variable globale buffer.

Le tampon est destiné à être utilisé comme une structure de stockage binaire de faible niveau, en remplaçant l'utilisation de string.pack() et string.unpack(). Les cas d'utilisation incluent la lecture et l'écriture de données binaires existantes, le travail avec des données en une forme plus compacte, la serialisation vers des formats binaires personnalisés et le travail avec des types de mémoire natifs comme des longueurs de chaîne et

Lors de son passage à travers les API Roblox, y compris l'envoi d'un tampon via des événements personnalisés, l'identifiant de l'objet tampon n'est pas conservé et la cible recevra une copie. Semblable à d'autres limitations, l'objet tampon de même ne peut pas être utilisé à partir de plusieurs scripts Actor (Luau parallèle).

Beaucoup de fonctions acceptent un décalage en octets à partir du début du tampon. Le décalage de 0 depuis le début du bloc de mémoire accède au premier octet. Tous les décalages, les comptoirs et les tailles doivent être des nombres intégraux non négatifs. Si les octets qui sont accédés par n'importe quelle opération de lecture ou d'écriture sont hors de la mémoire tampon, une erreur est lancée.

Les méthodes read et write qui fonctionnent avec des entiers et des flottants utilisent peu d'endian encodage.

Résumé

Fonctions

Fonctions

create

Crée un tampon de la taille demandée avec tous les octets initialisés à 0. La limite de taille est 1 GiB, ou 1 073 741 824 octets. Gardez à l'esprit que les tampons plus grands pourraient échouer à affecter si le périphérique est en manque de mémoire.

Paramètres

size: number

Taille de la mémoire tampon.

Retours

fromstring

Crée un tampon initialisé dans le contenu de la chaîne. La taille du tampon correspond à la longueur de la chaîne.

Paramètres

str: string

Retours

tostring

Renvoie les données de tampon en tant que chaîne.

Paramètres

Retours

Renvoie la taille du tampon en octets.

Paramètres

Retours

readi8

Lit les données du tampon en réinterprétant les octets à l'emplacement comme un nombre signé 8 bits et le convertit en un nombre.

Paramètres

offset: number

Décalage du début de la mémoire tampon, à partir de 0.

Retours

readu8

Lit les données du tampon en réinterprétant les octets à l'emplacement comme un nombre signé 8 bits et le convertit en un nombre.

Paramètres

offset: number

Décalage du début de la mémoire tampon, à partir de 0.

Retours

readi16

Lit les données du tampon en réinterprétant les octets à l'emplacement comme un nombre signé 16 bits et le convertit en un nombre.

Paramètres

offset: number

Décalage du début de la mémoire tampon, à partir de 0.

Retours

readu16

Lit les données du tampon en réinterprétant les octets à l'emplacement comme un nombre signé 16 bits et le convertit en un nombre.

Paramètres

offset: number

Décalage du début de la mémoire tampon, à partir de 0.

Retours

readi32

Lit les données du tampon en réinterprétant les octets à l'emplacement comme un nombre signé 32 bits et le convertit en un nombre.

Paramètres

offset: number

Décalage du début de la mémoire tampon, à partir de 0.

Retours

readu32

Lit les données du tampon en réinterprétant les octets à l'emplacement comme un nombre signé 32 bits et le convertit en un nombre.

Paramètres

offset: number

Décalage du début de la mémoire tampon, à partir de 0.

Retours

readf32

Lit les données du tampon en réinterprétant les octets à l'emplacement comme une valeur de point flottant 32 bits et le convertir en un nombre. Si la valeur du point flottant correspond à n'importe quelle séquence de bits qui représente NaN (pas un nombre), la valeur renvoyée peut être convertie en une autre représentation de point flottant.

Paramètres

offset: number

Décalage du début de la mémoire tampon, à partir de 0.

Retours

readf64

Lit les données du tampon en réinterprétant les octets à l'emplacement comme une valeur de point flottant 64 bits et le convertir en un nombre. Si la valeur du point flottant correspond à n'importe quelle séquence de bits qui représente NaN (pas un nombre), la valeur renvoyée peut être convertie en une autre représentation de point flottant.

Paramètres

offset: number

Décalage du début de la mémoire tampon, à partir de 0.

Retours

writei8

void

Écrit des données dans le tampon en convertissant le nombre en un nombre signé 8 bits et en écrire un seul octet.

Paramètres

offset: number

Décalage du début de la mémoire tampon, à partir de 0.

value: number

Un nombre entier dans la tranche [-128, 127].

Retours

void

writeu8

void

Écrit des données dans le tampon en convertissant le nombre en un nombre signé 8 bits et en écrire un seul octet.

Paramètres

offset: number

Décalage du début de la mémoire tampon, à partir de 0.

value: number

Un nombre entier dans la tranche [0, 255].

Retours

void

writei16

void

Écrit des données dans le tampon en convertissant le nombre en un nombre signé 16 bits et en le réinterprétant comme des octets individuels.

Paramètres

offset: number

Décalage du début de la mémoire tampon, à partir de 0.

value: number

Un nombre entier dans la tranche [-32,768, 32,767].

Retours

void

writeu16

void

Écrit des données dans le tampon en convertissant le nombre en un nombre signé de 16 bits et en le réinterprétant comme des octets individuels.

Paramètres

offset: number

Décalage du début de la mémoire tampon, à partir de 0.

value: number

Un nombre entier dans la tranche [0, 65,536].

Retours

void

writei32

void

Écrit des données dans le tampon en convertissant le nombre en un nombre signé 32 bits et en le réinterprétant comme des octets individuels.

Paramètres

offset: number

Décalage du début de la mémoire tampon, à partir de 0.

value: number

Un nombre entier dans la tranche [-2,147,483,648, 2,147,483,647].

Retours

void

writeu32

void

Écrit des données dans le tampon en convertissant le nombre en un nombre signé 32 bits et en le réinterprétant comme des octets individuels.

Paramètres

offset: number

Décalage du début de la mémoire tampon, à partir de 0.

value: number

Un nombre entier dans la tranche [0, 4,294,967,295].

Retours

void

writef32

void

Écrit des données dans le tampon en convertissant le nombre en une valeur de point flottant 32 bits et en le réinterprétant en tant que chaque octet.

Paramètres

offset: number

Décalage du début de la mémoire tampon, à partir de 0.

value: number

Un nombre de point flottant de précision unique.

Retours

void

writef64

void

Écrit des données dans le tampon en convertissant le nombre en une valeur de point flottant 64 bits et en le réinterprétant en tant que chaque octet.

Paramètres

offset: number

Décalage du début de la mémoire tampon, à partir de 0.

value: number

Un double-points flottant de précision.

Retours

void

readstring

Lit une chaîne de longueur count du tampon à l'emplacement spécifié offset.

Paramètres

offset: number

Décalage du début de la mémoire tampon, à partir de 0.

count: number

Longueur à lu.

Retours

writestring

void

Écrit des données d'une chaîne dans le tampon au offset. Si un tampon optionnel count est spécifié, seuls les count octets de la chaîne sont pris.

Paramètres

offset: number

Décalage du début de la mémoire tampon, à partir de 0.

value: string

Données à écrire.

count: number

Nombre de octets à prendre à partir de la chaîne. Cette valeur ne peut pas être plus grande que la longueur de la chaîne.

Retours

void

copy

void

Copie count octets à partir de source en commençant à partir de l'emplacement sourceOffset dans le 1> target1> à 4> targetOffset4>.

Il est possible que source et target soient les mêmes. Copier une région interstantielle à l'intérieur du même tampon agit comme si la région source était copiée dans un tampon temporaire et puis ce tampon est copié sur la cible.

Paramètres

target: buffer

バッファ pour copier les données dans.

targetOffset: number

Décalage du début de la mémoire tampon, à partir de 0.

source: buffer

バッファ pour prendre les données.

sourceOffset: number

Décalage du début de la mémoire tampon, à partir de 0.

Valeur par défaut : 0
count: number

Nombre de octets à copier. Si omis, l'ensemble des données source à partir de sourceOffset est pris.

Retours

void

fill

void

Définit count octets dans le tampon à partir du offset spécifié pour atteindre value.

Paramètres

バッファ pour écrire les données.

offset: number

Décalage du début de la mémoire tampon, à partir de 0.

value: number

Un nombre entier dans la tranche [0, 255].

count: number

Nombre de octets à écrire. Si omis, tous les octets après l'emplacement spécifié sont configurer.

Retours

void