るりまサーチ

最速Rubyリファレンスマニュアル検索!
33件ヒット [1-33件を表示] (0.013秒)

キーワード

検索結果

Fiddle::Closure (15.0)

コールバック関数を表すクラスです。

...とで利用します。

require 'fiddle'
include Fiddle # TYPE_* を使うために include する

class
Compare < Fiddle::Closure
# qsort の比較関数は 型が int(*)(void*, void*) であるため、
# このメソッドには DL::CPtr オブジェクトが渡される。...
...タが指す先は比較している文字なので、
# DL::CPtr#to_s で1文字の文字列に変換している
def call(x, y)
x.to_s(1) <=> y.to_s(1)
end
end

libc = DL.dlopen("/lib/libc.so.6")
qs = Fiddle::Function.new(libc["qsort"],
[TYPE_V...
...# => "()07Uabcqx"

Class
.new を使うことで、サブクラスを明示的に作ることなしに
コールバックオブジェクトを作ることができます。
require 'fiddle'
include Fiddle # TYPE_* を使うために include する
compare = Class.new(Fiddle::Closure){
def...

Fiddle::Closure::BlockCaller (15.0)

Ruby のブロックをラップしたコールバック関数を表すクラスです。

...ラスです。

require 'fiddle'
include Fiddle

libc = Fiddle.dlopen("/lib/libc.so.6")
qs = Fiddle::Function.new(libc["qsort"],
[TYPE_VOIDP, TYPE_INT, TYPE_INT, TYPE_VOIDP],
TYPE_VOID)
compare = Fiddle::Closure::BlockCaller.new(TYPE...
...型が int(*)(void*, void*) であるため、
# このブロックには DL::CPtr オブジェクトが渡される。
# そのポインタが指す先は比較している文字なので、
# DL::CPtr#to_s で1文字の文字列に変換している
x.to_s(1) <=> y.to_s(1)
}
s...

Fiddle::Pointer (15.0)

メモリ領域を表すクラスです。C 言語のポインタに相当します。

...メモリ領域を表すクラスです。C 言語のポインタに相当します。

2.2.0 で削除された dl の DL::CPtr に対応します。
DL::CPtrとほぼ同じインターフェースを持ちます。...