Extended maintenance of Ruby 1.9.3 ended on February 23, 2015. Read more
Extends Fiddle::Closure to allow for building the closure in a block
Construct a new BlockCaller object.
ctype
is the C type to be returned
args
are passed the callback
abi
is the abi of the closure
If there is an error in preparing the ffi_cif
or
ffi_prep_closure
, then a RuntimeError will be raised.
include Fiddle cb = Closure::BlockCaller.new(TYPE_INT, [TYPE_INT]) do |one| one end func = Function.new(cb, [TYPE_INT], TYPE_INT)
# File fiddle/lib/fiddle/closure.rb, line 34 def initialize ctype, args, abi = Fiddle::Function::DEFAULT, &block super(ctype, args, abi) @block = block end
Calls the constructed BlockCaller, with
args
For an example see ::new
# File fiddle/lib/fiddle/closure.rb, line 43 def call *args @block.call(*args) end
Commenting is here to help enhance the documentation. For example, code samples, or clarification of the documentation.
If you have questions about Ruby or the documentation, please post to one of the Ruby mailing lists. You will get better, faster, help that way.
If you wish to post a correction of the docs, please do so, but also file bug report so that it can be corrected for the next release. Thank you.
If you want to help improve the Ruby documentation, please visit Documenting-ruby.org.