класс Fiddle::Closure::BlockCaller
Расширяет Fiddle::Closure, позволяя создавать замыкание в блоке
Публичные методы класса
Исходный код
# 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
Описание
Создает новый объект 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 69 def call *args @block.call(*args) end
Вызывает созданное BlockCaller с args
Пример см. в Fiddle::Closure::BlockCaller.new
Ruby Core © 1993–2024 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.