buffer

非推奨を表示

*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。

バッファは、固定サイズの変更可能なメモリブロックを表すオブジェクトです。 バッファライブラリは、バッファオブジェクトの作成と操作のための関数を提供し、すべての関数をグローバルな buffer 変数内に提供します。

バッファは、低レベルのバイナリデータストレージ構造として使用されることを意図しており、 string.pack()string.unpack() の使用を置き換えます。 利用ケースには、既存のバイナリ形式の読み取りと書き込み、データをよりコンパクトな形式で扱うこと、カスタムバイナリ形式へのシリアル化、および固定長整数や浮動小数点数などのネイティブメモリ型との一般的な作業が含まれます。

Roblox APIを通過する場合、カスタムイベントを介してバッファを送信する場合を含め、バッファオブジェクトのアイデンティティは保持されず、ターゲットはコピーを受け取ります。その他の制約と同様に、同じバッファオブジェクトを複数の Actor スクリプト(並列Luau)から使用することはできません。

多くの関数は、バッファの開始位置からのバイトオフセットを受け入れます。 バッファメモリブロックの先頭からのオフセット 0 は最初のバイトにアクセスします。すべてのオフセット、カウント、およびサイズは非負の整数である必要があります。 読み取りまたは書き込み操作によってアクセスされるバイトがバッファメモリの外にある場合、エラーが発生します。

整数と浮動小数点数とともに動作する read および write メソッドは、リトルエンディアン コーディングを使用します。

概要

関数

関数

create

要求されたサイズのバッファを作成し、すべてのバイトを 0 に初期化します。 サイズの制限は1 GiB、または1,073,741,824バイトです。デバイスがメモリ不足の場合、大きなバッファを割り当てることが失敗する可能性があることに注意してください。

パラメータ

size: number

バイト単位のバッファのサイズ。正の整数である必要があります。

戻り値

fromstring

文字列の内容で初期化されたバッファを作成します。バッファのサイズは文字列の長さに等しくなります。

パラメータ

str: string

戻り値

tostring

バッファデータを文字列として返します。

パラメータ

戻り値

バッファのサイズをバイト単位で返します。

パラメータ

戻り値

readbits

特定の bitCount 整数(0から32まで)に基づいて、バッファから無符号整数にビット範囲を読み取ります。例えば:

ビット幅 0 は、ビット数が動的である一般的なケースでエラーが発生しないようにのみサポートされており、0ビットの読み取りは 0 を返します。また、バッファの最大サイズが1 GBであるため、bitOffset は他のバッファ関数のバイトオフセットのように32ビット整数として処理することはできません。

パラメータ

bitOffset: number

バッファメモリの開始からのオフセット、 0 から始まります。

bitCount: number

読み取るビット数の整数。範囲が 0 から 32 の間でない場合、エラーが発生します。

戻り値

readi8

バッファからデータを読み取ることで、オフセットでバイトを再解釈し、8ビット符号付き整数として数値に変換します。

パラメータ

offset: number

バッファメモリの開始からのオフセット、 0 から始まります。

戻り値

readu8

バッファからデータを読み取ることで、オフセットでバイトを再解釈し、8ビット無符号整数として数値に変換します。

パラメータ

offset: number

バッファメモリの開始からのオフセット、 0 から始まります。

戻り値

readi16

バッファからデータを読み取ることで、オフセットでバイトを再解釈し、16ビット符号付き整数として数値に変換します。

パラメータ

offset: number

バッファメモリの開始からのオフセット、 0 から始まります。

戻り値

readu16

バッファからデータを読み取ることで、オフセットでバイトを再解釈し、16ビット無符号整数として数値に変換します。

パラメータ

offset: number

バッファメモリの開始からのオフセット、 0 から始まります。

戻り値

readi32

バッファからデータを読み取ることで、オフセットでバイトを再解釈し、32ビット符号付き整数として数値に変換します。

パラメータ

offset: number

バッファメモリの開始からのオフセット、 0 から始まります。

戻り値

readu32

バッファからデータを読み取ることで、オフセットでバイトを再解釈し、32ビット無符号整数として数値に変換します。

パラメータ

offset: number

バッファメモリの開始からのオフセット、 0 から始まります。

戻り値

readf32

バッファからデータを読み取ることで、オフセットでバイトを再解釈し、32ビット浮動小数点値として数値に変換します。もし浮動小数点値が NaN(無効な数値)を表すビットパターンと一致する場合、返される値は別の静かな NaN 表現に変換される可能性があります。

パラメータ

offset: number

バッファメモリの開始からのオフセット、 0 から始まります。

戻り値

readf64

バッファからデータを読み取ることで、オフセットでバイトを再解釈し、64ビット浮動小数点値として数値に変換します。もし浮動小数点値が NaN(無効な数値)を表すビットパターンと一致する場合、返される値は別の静かな NaN 表現に変換される可能性があります。

パラメータ

offset: number

バッファメモリの開始からのオフセット、 0 から始まります。

戻り値

writebits

()

特定の bitCount 整数(0から32まで)に基づいて、バッファにデータを書き込みます。value は無符号の32ビット数として扱われ、最も重要な bitCount ビットのみが書き込まれます。

ビット幅 0 は、ビット数が動的である一般的なケースでエラーが発生しないようにのみサポートされており、0ビットの書き込みは効果がありません。また、バッファの最大サイズが1 GBであるため、bitOffset は他のバッファ関数のバイトオフセットのように32ビット整数として処理することはできません。

パラメータ

bitOffset: number

バッファメモリの開始からのオフセット、 0 から始まります。

bitCount: number

書き込むビット数の整数。この値が範囲 0 から 32 の間でない場合、エラーが発生します。

value: number

無符号の32ビット数。最も重要な bitCount ビットのみが書き込まれます。

戻り値

()

writei8

()

数値を8ビット符号付き整数に変換し、1バイトを書き込むことでバッファにデータを書き込みます。

パラメータ

offset: number

バッファメモリの開始からのオフセット、 0 から始まります。

value: number

範囲[-128, 127]の整数。

戻り値

()

writeu8

()

数値を8ビット無符号整数に変換し、1バイトを書き込むことでバッファにデータを書き込みます。

パラメータ

offset: number

バッファメモリの開始からのオフセット、 0 から始まります。

value: number

範囲[0, 255]の整数。

戻り値

()

writei16

()

数値を16ビット符号付き整数に変換し、個々のバイトとして再解釈することでバッファにデータを書き込みます。

パラメータ

offset: number

バッファメモリの開始からのオフセット、 0 から始まります。

value: number

範囲[-32,768, 32,767]の整数。

戻り値

()

writeu16

()

数値を16ビット無符号整数に変換し、個々のバイトとして再解釈することでバッファにデータを書き込みます。

パラメータ

offset: number

バッファメモリの開始からのオフセット、 0 から始まります。

value: number

範囲[0, 65,535]の整数。

戻り値

()

writei32

()

数値を32ビット符号付き整数に変換し、個々のバイトとして再解釈することでバッファにデータを書き込みます。

パラメータ

offset: number

バッファメモリの開始からのオフセット、 0 から始まります。

value: number

範囲[-2,147,483,648, 2,147,483,647]の整数。

戻り値

()

writeu32

()

数値を32ビット無符号整数に変換し、個々のバイトとして再解釈することでバッファにデータを書き込みます。

パラメータ

offset: number

バッファメモリの開始からのオフセット、 0 から始まります。

value: number

範囲[0, 4,294,967,295]の整数。

戻り値

()

writef32

()

数値を32ビット浮動小数点値に変換し、個々のバイトとして再解釈することでバッファにデータを書き込みます。

パラメータ

offset: number

バッファメモリの開始からのオフセット、 0 から始まります。

value: number

単精度浮動小数点数。

戻り値

()

writef64

()

数値を64ビット浮動小数点値に変換し、個々のバイトとして再解釈することでバッファにデータを書き込みます。

パラメータ

offset: number

バッファメモリの開始からのオフセット、 0 から始まります。

value: number

倍精度浮動小数点数。

戻り値

()

readstring

指定された offset からバッファ内の長さが count の文字列を読み取ります。

パラメータ

offset: number

バッファメモリの開始からのオフセット、 0 から始まります。

count: number

読み取る長さ。

戻り値

writestring

()

指定された offset にバッファに文字列からデータを書き込みます。オプションの count が指定された場合、文字列からは count バイトのみが取得されます。

パラメータ

offset: number

バッファメモリの開始からのオフセット、 0 から始まります。

value: string

書き込むデータ。

count: number

文字列から取得するバイト数。この値は、文字列の長さを超えることはできません。

戻り値

()

copy

()

source からオフセット sourceOffset が指定された count バイトを、targettargetOffset にコピーします。

sourcetarget が同じであることも可能です。同じバッファ内での重複した領域のコピーは、ソース領域が一時バッファにコピーされ、その後そのバッファがターゲットにコピーされるかのように動作します。

パラメータ

target: buffer

データをコピーするバッファ。

targetOffset: number

バッファメモリの開始からのオフセット、 0 から始まります。

source: buffer

データを取り込むバッファ。

sourceOffset: number

バッファメモリの開始からのオフセット、 0 から始まります。

既定値: 0
count: number

コピーするバイト数。省略した場合は、sourceOffset から始まる source のすべてのデータが取得されます。

戻り値

()

fill

()

指定された offset から始まる count バイトを value に設定します。

パラメータ

データを書き込むバッファ。

offset: number

バッファメモリの開始からのオフセット、 0 から始まります。

value: number

範囲[0, 255]の整数。

count: number

書き込むバイト数。省略した場合、指定されたオフセット以降のすべてのバイトが設定されます。

戻り値

()