類別 Fiddle::Closure::BlockCaller
延伸 Fiddle::Closure
以允許在區塊中建立封閉
公開類別方法
new(ctype, args, abi = Fiddle::Function::DEFAULT, &block) 按一下以切換來源
說明¶ ↑
建構新的 BlockCaller
物件。
-
ctype
是要傳回的 C 類型 -
args
會傳遞回呼函式 -
abi
是封閉的 abi
如果準備 ffi_cif
或 ffi_prep_closure
時發生錯誤,則會引發 RuntimeError
。
範例¶ ↑
include Fiddle cb = Closure::BlockCaller.new(TYPE_INT, [TYPE_INT]) do |one| one end func = Function.new(cb, [TYPE_INT], TYPE_INT)
呼叫超類別方法
Fiddle::Closure::new
# File ext/fiddle/lib/fiddle/closure.rb, line 60 def initialize ctype, args, abi = Fiddle::Function::DEFAULT, &block super(ctype, args, abi) @block = block end
公開實體方法
call(*args) 按一下以切換來源
使用 args
呼叫建構的 BlockCaller
有關範例,請參閱 Fiddle::Closure::BlockCaller.new
# File ext/fiddle/lib/fiddle/closure.rb, line 69 def call *args @block.call(*args) end