REDROOM
PHP 8.2.30
Path:
Logout
Edit File
Size: 1.93 KB
Close
/proc/thread-self/root/proc/thread-self/root/proc/thread-self/root/opt/alt/ruby33/share/ruby/fiddle/closure.rb
Text
Base64
# frozen_string_literal: true module Fiddle class Closure class << self # Create a new closure. If a block is given, the created closure # is automatically freed after the given block is executed. # # The all given arguments are passed to Fiddle::Closure.new. So # using this method without block equals to Fiddle::Closure.new. # # == Example # # Fiddle::Closure.create(TYPE_INT, [TYPE_INT]) do |closure| # # closure is freed automatically when this block is finished. # end def create(*args) if block_given? closure = new(*args) begin yield(closure) ensure closure.free end else new(*args) end end end # the C type of the return of the FFI closure attr_reader :ctype # arguments of the FFI closure attr_reader :args # Extends Fiddle::Closure to allow for building the closure in a block class BlockCaller < Fiddle::Closure # == Description # # 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. # # == Example # # include Fiddle # # cb = Closure::BlockCaller.new(TYPE_INT, [TYPE_INT]) do |one| # one # end # # func = Function.new(cb, [TYPE_INT], TYPE_INT) # 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 Fiddle::Closure::BlockCaller.new # def call *args @block.call(*args) end end end end
Save
Close
Exit & Reset
Text mode: syntax highlighting auto-detects file type.
Directory Contents
Dirs: 0 × Files: 9
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
closure.rb
1.93 KB
lrw-r--r--
2025-04-24 07:57:44
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
cparser.rb
9.27 KB
lrw-r--r--
2025-04-24 07:57:44
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
function.rb
539 B
lrw-r--r--
2025-04-24 07:57:44
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
import.rb
8.83 KB
lrw-r--r--
2025-04-24 07:57:44
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
pack.rb
3.51 KB
lrw-r--r--
2025-04-24 07:57:44
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
struct.rb
14.20 KB
lrw-r--r--
2025-04-24 07:57:44
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
types.rb
1.90 KB
lrw-r--r--
2025-04-24 07:57:44
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
value.rb
2.81 KB
lrw-r--r--
2025-04-24 07:57:44
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
version.rb
38 B
lrw-r--r--
2025-04-24 07:57:44
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Zip Selected
If ZipArchive is unavailable, a
.tar
will be created (no compression).