Ruby 1.8.7 リファレンスマニュアル > ライブラリ一覧 > dlライブラリ > Arrayクラス > to_ptr

instance method Array#to_ptr

to_ptr -> nil | DL::PtrData [added by dl]
to_ptr(type) -> nil | DL::PtrData [added by dl]

自身の各要素を指すポインタの配列を生成し、それへのポインタ DL::PtrData を返します。 この返り値には、DL::FREE が free 関数としてセットされています。 自身の長さが 0 なら nil を返します。

self のすべての要素は同じクラスでなければならず、 Integer、Float、String、Data、Nil のいずれかでなければいけません。

要素のクラスが String である場合、各要素は複製されます。

require 'dl/import'

ptr = ['a', 'b', 'c'].to_ptr
p ptr.size #=> 12
p ptr.to_a('P').map{|s| s.to_s } #=> ["a", "b", "c"]
[PARAM] type:
self の要素の型を文字で指定します。DL の型指定子の項を参照して下さい。
[EXCEPTION] DL::DLTypeError:
定められた文字以外を型指定子として与えると発生します。また、与えられた型と自身の要素が一致しないと発生します。
class Array