buffer
*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
Crée un tampon.
Crée un tampon à partir d'une chaîne.
Convertit un tampon en une chaîne.
Renvoie la taille du tampon en octets.
Lit un nombre signé de 8 bits à partir de la mémoire tampon.
Lit un nombre infini signé de 8 bits à partir de la mémoire tampon.
Lit un nombre signé de 16 bits à partir de la mémoire tampon.
Lit un nombre entier signé de 16 bits à partir de la mémoire tampon.
Lit un nombre signé de 32 bits à partir de la mémoire tampon.
Lit un nombre entier signé de 32 bits à partir de la mémoire tampon.
Lit une valeur de point flottant de 32 bits à partir de la mémoire tampon.
Lit une valeur de point flottant de 64 bits à partir de la mémoire tampon.
Écrit un nombre signé 8 bits dans la mémoire tampon.
Écrit un nombre infini signé 8 bits dans la mémoire tampon.
Écrit un nombre signé de 16 bits dans la mémoire tampon.
Écrit un nombre entier signé de 16 bits dans la mémoire tampon.
Écrit un nombre signé de 32 bits dans la mémoire tampon.
Écrit un nombre entier signé de 32 bits dans la mémoire tampon.
Écrit une valeur de point flottant de 32 bits dans la mémoire tampon.
Écrit une valeur de point flottant de 64 bits dans la mémoire tampon.
Lit une chaîne à partir du tampon.
Écrit une chaîne dans le tampon.
Copie les octets entre les tampons.
Définit une région de la mémoire tampon à une valeur intérieure de 8 bits.
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
Taille de la mémoire tampon.
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.
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.
Retours
writei16
É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
Retours
writeu16
É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
Retours
writei32
É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
Retours
writeu32
É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
Retours
writef32
É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
Retours
writef64
É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
Retours
writestring
É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
Retours
copy
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
バッファ pour copier les données dans.
Décalage du début de la mémoire tampon, à partir de 0.
バッファ pour prendre les données.
Décalage du début de la mémoire tampon, à partir de 0.
Nombre de octets à copier. Si omis, l'ensemble des données source à partir de sourceOffset est pris.
Retours
fill
Définit count octets dans le tampon à partir du offset spécifié pour atteindre value.