buffer

非推奨を表示

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

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

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

Roblox API を通過すると、カスタムイベントを介してバッファを送信しても、バッファオブジェクトの身元が保存されず、ターゲットはコピーを受け取ります。他の制限と同様、同じバッファオブジェクトは複数の Actor スクリプトから使用できません (パラレル Luau)。

多くの機能は、バッファの開始時にバイトオフセットを受け入れます。バッファメモリブロックの開始時のオフセットの 0 は、最初のバイトにアクセスします。すべてのオフセット、カウント、サイズは、非ネガティブの整数数字である必要があります。読み込みまたは書き込み操作でアクセスされるバイトがバッファメモリの外にある場合、エラーが発生します。

整数と浮動点で動作する read および write メソッドは、少し端側に 符号化を使用します。

概要

関数

関数

create

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

パラメータ

size: number

バッファのサイズ。

戻り値

fromstring

文字列のコンテンツに初期化されたバッファを作成します。バッファのサイズは、文字列の長さと同じです。

パラメータ

str: string

戻り値

tostring

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

パラメータ

戻り値

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

パラメータ

戻り値

readbits

バッファに基づいて、特定の bitCount 整数から 0 から 32 まで、範囲のビットを未署名の整数に読み込みます。例えば:

注意してください 0 ビット幅は、ビット数が動的な一般的な場合にエラーが発生しないように、サポートされていますが、0ビットの読み込みは 0 を返します。また、バッファの最大サイズが 1GB なので、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ビットの書き込みには効果がありません。また、バッファの最大サイズが 1GB なので、bitOffset は、他のバッファ機能のバイトオフセットのような 32ビット整数として処理できません。

パラメータ

bitOffset: number

バッファメモリの開始からオフセット、開始は 0

bitCount: number

書き込むための整数ビットカウント。この値が 0 から 32 までの範囲に含まれていない場合、エラーが発生します。

value: number

署名されていない 32ビットの数字。最も少ない bitCount ビットのみが書かれます。

戻り値

()

writei8

()

数を 8ビットの署名済み整数に変換してバッファにデータを書き込み、単一のバイトを書き込みます。

パラメータ

offset: number

バッファメモリの開始からオフセット、開始は 0

value: number

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

戻り値

()

writeu8

()

数を 8ビットの無符号整数に変換してバッファにデータを書き込み、単一のバイトを書き込みます。

パラメータ

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

()

コピー count バイトを source オフセットから sourceOffset 開始して targettargetOffset 移動します。

sourcetarget が同じになる可能性があります。同じバッファ内の重複領域をコピーすると、ソース領域が一時バッファにコピーされ、そのバッファがターゲットにコピーされるようになります。

パラメータ

target: buffer

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

targetOffset: number

バッファメモリの開始からオフセット、開始は 0

source: buffer

データを受け取るバッファ。

sourceOffset: number

バッファメモリの開始からオフセット、開始は 0

既定値: 0
count: number

コピーするバイト数。省略すると、source から始まるすべての sourceOffset データが取られます。

戻り値

()

fill

()

バッファに指定された count から始まる offset バイトを設定し、バッファの開始位置を value にします。

パラメータ

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

offset: number

バッファメモリの開始からオフセット、開始は 0

value: number

範囲 [0、255] の整数数字。

count: number

書き込むバイト数。省略すると、指定されたオフセット後のすべてのバイトが設設定するされます。

戻り値

()