self[val] -> Fiddle::PointerRuby 2.0.0 から[permalink][rdoc][edit]to_ptr(val) -> Fiddle::Pointer-
与えられた val と関連した Pointer オブジェクトを生成して返します。
val が文字列の場合は文字列が格納されているメモリ領域を指す Pointer オブジェクトを返します。
IO オブジェクトの場合は FILE ポインタを表す Pointer オブジェクトを返します。
val に to_ptr メソッドが定義されている場合は、val.to_ptr を呼び、 Pointer オブジェクトに変換したものを返します。
val が整数の場合はそれをアドレスとする Pointer オブジェクトを返します。
上以外の場合は、整数に変換(to_int)しそれをアドレスとする Pointer オブジェクトを返します。
- [PARAM]
val: - Ruby オブジェクトを指定します。
- [EXCEPTION]
Fiddle::DLError: - to_ptr の返り値が Pointer オブジェクトでない場合に発生します
- [EXCEPTION]
TypeError: - 上記のいずれの変換も不可能であった場合に発生します
require 'fiddle' s = "abc" p Fiddle::Pointer[s].to_i #=> 136186388 p [s].pack('p*').unpack('l!*')[0] #=> 136186388 - [PARAM]