• Home
  • 3.0.5
  • Downloads
  • Dark mode

Home

Pages Classes Methods

    Table of Contents

    • Creating Extension Libraries for Ruby
    • Basic Knowledge
    • Data Types
    • Check Data Type of the VALUE
    • Convert VALUE into C Data
    • Convert C Data into VALUE
    • Manipulating Ruby Data
    • String Functions
    • Array Functions
    • Extending Ruby with C
    • Adding New Features to Ruby
    • Class and Module Definition
    • Method and Singleton Method Definition
    • Constant Definition
    • Use Ruby Features from C
    • Evaluate Ruby Programs in a String
    • ID or Symbol
    • Invoke Ruby Method from C
    • Accessing the Variables and Constants
    • Information Sharing Between Ruby and C
    • Ruby Constants That Can Be Accessed From C
    • Global Variables Shared Between C and Ruby
    • Encapsulate C Data into a Ruby Object
    • C struct to Ruby object
    • Ruby object to C struct
    • Example - Creating the dbm Extension
    • Make the Directory
    • Design the Library
    • Write the C Code
    • Prepare extconf.rb
    • Prepare Depend (Optional)
    • Generate Makefile
    • Run make
    • Debug
    • Done! Now You Have the Extension Library
    • Appendix A. Ruby Source Files Overview
    • Ruby Language Core
    • Ruby Syntax Parser
    • Ruby Evaluator (a.k.a. YARV)
    • Regular Expression Engine (Oniguruma)
    • Utility Functions
    • Ruby Interpreter Implementation
    • Class Library
    • Multilingualization
    • goruby Interpreter Implementation
    • Appendix B. Ruby Extension API Reference
    • Types
    • Variables and Constants
    • C Pointer Wrapping
    • Checking Data Types
    • Data Type Conversion
    • Defining Classes and Modules
    • Defining Global Variables
    • Constant Definition
    • Method Definition
    • Invoking Ruby method
    • Instance Variables
    • Control Structure
    • Exceptions and Errors
    • Threading
    • Input/Output (IO) on a single file descriptor
    • I/O Multiplexing
    • Initialize and Start the Interpreter
    • Hooks for the Interpreter Events
    • Memory usage
    • Macros for Compatibility
    • Defining backward compatible macros for keyword argument functions
    • Appendix C. Functions available for use in extconf.rb
    • Appendix D. Generational GC
    • Incompatibility
    • Write barriers
    • Don’t touch pointers directly
    • Consider whether to insert write barriers
    • Combine with built-in types
    • Insert write barriers
    • Appendix E. RB_GC_GUARD to protect from premature GC
    • Appendix F. Ractor support

    Pages

    • NEWS-1.8.7
    • NEWS-1.9.1
    • NEWS-1.9.2
    • NEWS-1.9.3
    • NEWS-2.0.0
    • NEWS-2.1.0
    • NEWS-2.2.0
    • NEWS-2.3.0
    • NEWS-2.4.0
    • NEWS-2.5.0
    • NEWS-2.6.0
    • NEWS-2.7.0
    • bug_triaging
    • contributing
    • dig_methods
    • dtrace_probes
    • extension.ja
    • extension
    • fiber
    • globals
    • implicit_conversion
    • keywords
    • maintainers
    • make_cheatsheet
    • marshal
    • memory_view
    • method_documentation
    • ractor
    • regexp
    • CONTRIBUTING
    • COPYING
    • COPYING.ja
    • LEGAL
    • NEWS
    • README.ja
    • README
    • README.win32
    • security
    • signals
    • standard_library
    • syntax
    • assignment
    • calling_methods
    • comments
    • control_expressions
    • exceptions
    • literals
    • methods
    • miscellaneous
    • modules_and_classes
    • pattern_matching
    • precedence
    • refinements