るりまサーチ

最速Rubyリファレンスマニュアル検索!
120件ヒット [1-100件を表示] (0.024秒)
トップページ > クエリ:y[x] > クエリ:Closure[x]

別のキーワード

  1. psych psych_y
  2. kernel y
  3. psych y
  4. kernel psych_y
  5. y psych

検索結果

<< 1 2 > >>

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...
<< 1 2 > >>