120件ヒット
[1-100件を表示]
(0.024秒)
種類
- インスタンスメソッド (84)
- クラス (24)
- 文書 (12)
クラス
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (12) - BlockCaller (12)
- ctype (12)
- reason (12)
- type (24)
- type= (24)
- url (12)
検索結果
先頭5件
-
Fiddle
:: Closure (18048.0) -
コールバック関数を表すクラスです。
...コールバック関数を表すクラスです。
Ruby のメソッド(call)を C の関数ポインタとして表現するためのクラスです。
FFI の closure の wrapper です。
利用法としては、このクラスのサブクラスを作って
そのサブクラスに call メ......new でオブジェクトを生成することで利用します。
require 'fiddle'
include Fiddle # TYPE_* を使うために include する
class Compare < Fiddle::Closure
# qsort の比較関数は 型が int(*)(void*, void*) であるため、
# このメソッドには DL:......換している
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_VOIDP, TYPE_INT, TYPE_INT, TYPE_VOIDP],
TYPE_VOID)
s = "7x0cba(Uq)"
qs.c... -
Fiddle
:: Closure # ctype -> Integer (9100.0) -
返り値の型を返します。
返り値の型を返します。 -
RSS
:: Maker :: RSS20 :: Items :: Item :: Enclosure # type (9100.0) -
@todo
@todo -
RSS
:: Maker :: RSS20 :: Items :: Item :: Enclosure # type=() (9100.0) -
@todo
@todo -
RSS
:: Rss :: Channel :: Item :: Enclosure # type (9100.0) -
@todo
@todo -
RSS
:: Rss :: Channel :: Item :: Enclosure # type= (9100.0) -
@todo
@todo -
RSS
:: Rss :: Channel :: Item :: Enclosure # url (6000.0) -
@todo
@todo -
Fiddle
:: Closure :: BlockCaller (3018.0) -
Ruby のブロックをラップしたコールバック関数を表すクラスです。
...Ruby のブロックをラップしたコールバック関数を表すクラスです。
Ruby のブロックを C の関数ポインタとして表現するためのクラスです。
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, [TYPE_VOIDP, TYPE_VOIDP]){|x, y|
# qsort の比較関数は 型が int(*)(void*, void*) であるため、
# この......は DL::CPtr オブジェクトが渡される。
# そのポインタが指す先は比較している文字なので、
# DL::CPtr#to_s で1文字の文字列に変換している
x.to_s(1) <=> y.to_s(1)
}
s = "7x0cba(Uq)"
qs.call(s, s.size, 1, compare)
p s # => "()07Uabcqx"... -
LocalJumpError
# reason -> Symbol (112.0) -
例外を発生させた原因をシンボルで返します。
...かです。
* :break
* :redo
* :retry
* :next
* :return
* :noreason
例:
def foo
proc { return 10 }
end
begin
foo.call
rescue LocalJumpError => err
p err # => #<LocalJumpError: return from block-closure>
p err.reason # => :return
p er......r.exit_value # => 10
end
begin
Block.new { break 5 }.call
rescue LocalJumpError => err
p err # => #<LocalJumpError: break from block-closure>
p err.reason # => :break
p err.exit_value # => 5
end...