Ruby 1.8.7 リファレンスマニュアル > ライブラリ一覧 > dlライブラリ > Arrayクラス > to_ptr
to_ptr -> nil | DL::PtrData
[permalink][rdoc] [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"]