Ruby 2.6.0 リファレンスマニュアル > ライブラリ一覧 > fiddleライブラリ > Fiddle::Pointerクラス > []=

instance method Fiddle::Pointer#[]=

self[offset] = n[permalink][rdoc]

自身の指すアドレスに offset バイトを足したメモリ領域を指定された n に書き換えます。

[PARAM] n:
整数を指定します。
[EXCEPTION] Fiddle::DLError:
self の保持するポインタが NULL である場合に発生します

例:

require 'fiddle'

s = 'abc'
cptr  = Fiddle::Pointer[s]
cptr[0] = 65
p cptr.to_s         #=> "Bbc"
self[offset, len] = v[permalink][rdoc]

自身の指すアドレスに offset バイトを足したメモリ領域の先頭 len バイトに文字列 v をコピーします。

str のサイズが len より小さい場合は、残りの領域を 0 で埋めます。コピー先の領域が len より大きいか検証しません。

[PARAM] offset:
書き換えたいメモリ領域のオフセットを整数で与えます。
[PARAM] len:
書き換えたいメモリ領域のサイズを整数で指定します。
[PARAM] v:
メモリ領域にセットしたいバイト列を文字列で指定します。
[EXCEPTION] Fiddle::DLError:
self の保持するポインタが NULL である場合に発生します

例:

require 'fiddle'

s = 'abc'
cptr  = Fiddle::Pointer[s]
p cptr[1,2] = "AA"
p cptr.to_s         #=> "aAA"