Ruby 2.1.0 リファレンスマニュアル > ライブラリ一覧 > dlライブラリ > DL::CPtrクラス > []=

instance method DL::CPtr#[]=

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

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

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

例:

require 'dl'

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

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

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

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

例:

require 'dl'

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