I. Language
1. Programs
1.1. Lexical Structure
1.1.1. Comments
1.1.2. Embedded Documentation
1.1.3. Whitespace
1.1.4. Literals
1.1.5. Identifiers
1.2. Syntactical Structure
1.2.1. Expressions
1.2.2. Statements
1.2.3. __END__
1.3. Interpretation
1.3.1. Interpreter
1.3.2. Source Files
1.3.3. IRB
1.3.4. Evaluating Strings
1.4. Tracing
2. Variables
2.1. Constants
2.1.1. References
2.1.2. Scope
2.1.3. Missing Constants
2.1.4. Reflection
2.2. Local Variables
2.2.1. Scope
2.2.2. Reflection
2.3. Instance Variables
2.3.1. Scope
2.3.2. Reflection
2.4. Class Variables
2.4.1. Scope
2.4.2. Reflection
2.5. Global Variables
2.5.1. Scope
2.5.2. Reflection
2.5.3. Tracing
2.6. defined?
2.7. Assignment
2.7.1. Lvalues
2.7.2. Rvalues
2.7.3. Simple Assignment
2.7.4. Abbreviated Assignment
2.7.5. Parallel Assignment
3. Messages
3.1. Message Expression Syntax
3.1.1. Arguments
3.1.2. Chaining
3.1.3. Dynamic Sending with Object#send
3.2. Operators
3.3. Conventions
3.3.1. Tone
3.3.2. Plurality
3.3.3. Responding to Messages
4. Objects
4.1. Instantiation
4.1.1. Constructors
4.2. Identity
4.3. Class
4.4. Methods
4.5. Relations
4.5.1. Order
4.5.2. Equivalence
4.6. State
4.6.1. Instance Variables
4.6.2. Attributes
4.6.3. Mutability
4.7. References & Garbage Collection
4.8. Listing and Counting
4.9. BasicObject
4.10. Duplication
4.11. Cloning
4.12. Marshaling
4.13. Taint
4.14. Safe Levels
4.14.1. Level 1
4.14.2. Level 2
4.14.3. Level 3
4.14.4. Level 4
4.14.5. Trust
4.15. Context
4.16. Conversion
4.16.1. Implicit Conversion
4.16.2. Explicit Conversion
4.16.3. Summary
4.16.4. Converting to “Boolean”
5. Classes
5.1. Names
5.2. Inheritance
5.2.1. Superclass
5.2.2. Ancestors
5.3. Creation
5.3.1. class Keyword
5.3.2. Class.new
5.3.3. Structs
5.3.4. Nesting
5.4. Context
5.5. Singleton Classes
5.6. State
5.6.1. Class Instance Variables
5.7. Instances
5.8. Methods
5.8.1. method_defined? Predicate
5.9. Missing Classes
5.10. Enumeration
5.11. Type
6. Modules
6.1. Creation
6.1.1. module Keyword
6.1.2. Module.new
6.2. Mixins
6.2.1. Mixing a Module into a Class
6.2.2. Mixing a Module into a Module
6.2.3. Inclusion
6.2.4. Extension
6.3. Namespacing
6.3.1. Nesting
6.4. Module Functions
6.5. Context
6.5.1. Module Eval
6.5.2. Module Exec
7. Methods
7.1. Instance Methods
7.2. Global Methods
7.3. Singleton Methods
7.3.1. Class Methods
7.3.2. Per-Object Behaviour
7.4. Return Values
7.5. super
7.6. Names
7.6.1. Operator Methods
7.7. Defining
7.7.1. method_added Callback
7.7.2. Dynamic Method Definition
7.8. Arguments
7.8.1. Required Arguments
7.8.2. Optional Arguments and Default Values
7.8.3. Variable-Length Argument Lists
7.8.4. Named Arguments
7.8.5. Block Arguments
7.8.6. Pass By Reference
7.8.7. Arity
7.9. Undefining
7.9.1. method_undefined Callback
7.10. Removing
7.10.1. method_removed Callback
7.11. Visibility
7.11.1. Advisory Privacy
7.12. Aliases
7.13. Lookup Algorithm
7.14. Missing Methods
7.14.1. Kernel#respond_to_missing?
7.15. Method Objects
7.15.1. Arity
7.15.2. Calling
7.15.3. Converting to a Proc.
7.15.4. Equality
7.15.5. Source Location
7.15.6. Parameters
7.16. UnboundMethod Objects
8. Closures
8.1. Proc Literals
8.2. Semantics
8.2.1. #lambda? Predicate
8.2.2. yield Semantics
8.2.3. Invocation Semantics
8.2.4. Control Flow Statements
8.3. Creation
8.3.1. Proc.new
8.3.2. proc Keyword
8.3.3. & Parameter
8.3.4. lambda keyword
8.3.5. Lambda Literal
8.4. Calling
8.5. Parameters
8.5.1. Block-Local Variables
8.6. Binding
8.6.1. Kernel.binding
8.7. Methods
9. Flow
9.1. Conditionals
9.2. Boolean Logic
9.2.1. AND Operator
9.2.2. OR Operator
9.2.3. NOT Operator
9.2.4. Flip Flops
9.3. Branching
9.3.1. if Statement
9.3.2. unless Statement
9.3.3. Ternary Operator
9.3.4. case Statement
9.4. Looping
9.4.1. Count-Controlled Loops
9.4.2. Condition-Controlled Loops
9.4.3. Infinite Loops
9.4.4. Control Flow Statements
9.5. Iterators
9.5.1. Internal
9.6. Begin / Exit Handlers
9.6.1. BEGIN Block
9.6.2. END Block
9.6.3. Kernel.at_exit
10. Exceptions
10.1. Exception Objects
10.1.1. Message
10.1.2. Backtrace
10.2. raise
10.3. Propagation
10.4. Handling
10.4.1. begin Statements
10.4.2. rescue
10.4.3. Postfix Form
10.4.4. $!
10.4.5. else Clause
10.4.6. ensure Clause
10.5. Class Hierarchy
11. Concurrency
11.1. Threads
11.1.1. Initialisation
11.1.2. Termination
11.1.3. Status
11.1.4. Variables
11.1.5. Joining
11.1.6. Exceptions
11.1.7. Scheduling
11.1.8. Groups
11.1.9. Synchronisation
11.2. Fibers
II. API
12. Numerics
12.1. Integers
12.1.1. Immediates
12.1.2. Bases
12.1.3. Bit Twiddling
12.2. Floats
12.2.1. Constants
12.2.2. Precision & Accuracy
12.3. Rationals
12.4. Complex
12.4.1. Conjugation
12.4.2. Arg Function
12.4.3. Absolute Value
12.4.4. Polar Form
12.4.5. Rectangular Form
12.5. Basic Arithmetic
12.6. Conversion & Coercion
12.7. Comparison & Equality
12.8. Rounding
12.9. Predicates
12.10. Moduluar Arithmetic
12.11. Exponentiation
12.12. Finiteness
12.13. Pseudo-Random Numbers
12.14. Trigonometry
12.15. Logarithms
13. Strings
13.1. Literals
13.1.1. Single-Quoted Strings
13.1.2. Double-Quoted Strings
13.1.3. Here Documents
13.2. String Escapes
13.2.1. Character Escapes
13.2.2. Byte Escapes
13.2.3. Control Escapes
13.2.4. Meta Character Escapes
13.2.5. Unicode Escapes
13.2.6. Summary
13.3. Characters
13.4. Bytes
13.5. Codepoints
13.6. Iteration
13.7. Size
13.8. Equivalence
13.9. Comparison
13.10. Concatenation
13.11. Repetition
13.12. Substrings
13.13. Searching & Replacing
13.14. Splitting, Partitioning, & Scanning
13.15. Letter Case
13.16. Whitespace
13.17. Converting to Numeric
13.18. Checksums
13.19. Sets of Characters & Transliteration
13.20. Debugging
13.21. Encoding
13.21.1. Forcing an Association
13.21.2. Valid Encodings
13.21.3. ASCII Only
13.22. Format Strings
13.22.1. Textual Conversions
13.22.2. Numbers
13.22.3. Hash Interpolation
13.22.4. Field Width & Justification
13.22.5. Precision
13.22.6. Relative & Absolute Arguments
13.23. Unpacking
13.24. Symbols
13.24.1. Encoding
14. Encoding
14.1. Encoding Class
14.2. Source Encoding
14.3. IO Streams
14.4. ASCII-8BIT
14.5. Compatibility
14.6. Transcoding
14.6.1. Encoding::Converter
15. Regexps
15.1. Literals
15.2. Options
15.3. Matching
15.4. Metacharacters
15.5. Escapes
15.6. Grouping
15.7. Capturing
15.8. Quantifiers
15.9. Character Classes
15.10. Alternation
15.11. MatchData
15.12. Anchoring
15.13. Zero-Width Assertions
15.14. Readability
15.15. Encoding
15.15.1. Fixed Encoding
15.16. Character Properties
15.16.1. General Categories
15.16.2. Simple Properties
15.16.3. Derived Properties
15.16.4. Script
16. Enumerables
16.1. Querying
16.2. Filtering
16.3. Transforming
16.4. Iteration
16.5. Sorting
16.6. Minimums & Maximums
16.7. Enumerator
16.7.1. Instantiation
16.7.2. External Iterators
16.8. Classes with Multiple Iteration Strategies
17. Arrays
17.1. Literals
17.1.1. Alternative Delimiters
17.2. Array.new
17.3. Lookup
17.4. Insertion
17.5. Replacement
17.6. Concatenation
17.7. Deletion
17.8. Arrays of Arrays
17.9. Permutations & Combinations
17.10. Iteration
17.11. Set Operations
17.12. Ordering
18. Hashes
18.1. Literals
18.2. Look-up
18.3. Default Value
18.4. Insertion
18.5. Deletion
18.6. Iteration
18.7. Keys
18.8. Values
18.9. Transformations
18.10. Merging
18.11. Size
18.12. Sorting
18.13. Equality
18.14. Coercion
18.15. Identity
19. Ranges
19.1. Instantiation
19.2. Start-points & End-points
19.3. Membership Testing
19.4. Iteration
19.5. Equality
20. Files & Directories
20.1. Files
20.1.1. Paths
20.1.2. Reading
20.1.3. Opening
20.1.4. Existence
20.1.5. Deletion
20.1.6. Renaming
20.1.7. Size
20.1.8. Comparison
20.1.9. File::Stat
20.1.10. Types
20.1.11. Permissions
20.1.12. Links
20.1.13. Locks
20.1.14. Filename Matching
20.1.15. Kernel.test
20.2. Directories
20.2.1. Working Directory
20.2.2. Home Directory
20.2.3. Instantiation
20.2.4. Entries
20.2.5. Creation
20.2.6. Existence
20.2.7. Deletion
20.2.8. Globbing
20.2.9. Position & Seeking
21. Input & Output
21.1. Standard Input, Output, & Error
21.2. Writing
21.3. Reading
21.4. Access Mode
21.5. Binary & Text Mode
21.6. Opening
21.7. Encoding String
21.8. Initializing
21.8.1. Mode String
21.8.2. Options Hash
21.9. Open Flags
21.10. Buffering
21.11. Closing
21.12. Positions & Seeking
21.13. Pipes
21.14. Asynchronous & Multiplexed
21.15. Manipulating File Descriptors
21.16. ARGV
21.17. ARGF
22. Processes
22.1. Executing & Forking
22.1.1. Backticks
22.1.2. Kernel.exec
22.1.3. Kernel.system
22.1.4. Kernel.spawn
22.1.5. Kernel.fork
22.1.6. IO.popen
22.1.7. Options Hash
22.2. Terminating
22.3. Environment
22.4. Status
22.4.1. Waiting
22.4.2. Process::Status
22.5. Daemons
22.6. Scheduling Priorities
22.7. Resource Limits
22.8. IDs
22.8.1. Process::GID
22.8.2. Process::UID
22.8.3. Process::Sys
22.9. Signalling
22.9.1. Sending
22.9.2. Trapping
22.10. Times
23. Times
23.1. Instantiation
23.2. Attributes
23.3. Predicates
23.4. Arithmetic
23.5. Formatting
23.6. Coercion
23.7. Zone Conversions
III. Reference
A. Array
B. BasicObject
C. Bignum
D. Binding
E. Class
F. Comparable
G. Complex
H. Dir
I. Encoding
J. Encoding::Converter
K. Enumerable
L. Enumerator
M. Exception
N. FalseClass
O. Fiber
P. File
Q. File::Stat
R. FileTest
S. Fixnum
T. Float
U. GC
V. Hash
W. Integer
X. IO
Y. Kernel
Z. Marshal
AA. MatchData
AB. Math
AC. Method
AD. Module
AE. Mutex
AF. NilClass
AG. Numeric
AH. Object
AI. ObjectSpace
AJ. Proc
AK. Process
AL. Process::GID
AM. Process::Status
AN. Process::Sys
AO. Process::UID
AP. Range
AQ. Rational
AR. Regexp
AS. Signal
AT. String
AU. Struct
AV. Struct::Tms
AW. Symbol
Bibliography
AX. Appendix: Punctuation
AX.1. Ampersands (&)
AX.2. Apostrophes (')
AX.3. Asterisks (*)
AX.4. Circumflex Accents (^)
AX.5. Colons (:)
AX.6. Commas (,)
AX.7. Commercial At Signs (@)
AX.8. Curly Brackets ({})
AX.9. Dollar Signs ($)
AX.10. Equals Signs (=)
AX.11. Exclamation Marks (!)
AX.12. Full Stops (.)
AX.13. Grave Accents (`)
AX.14. Greater-Than Signs (>)
AX.15. Hyphen Minus Signs (-)
AX.16. Less-Than Signs (<)
AX.17. Low Lines (_)
AX.18. Newlines (\n)
AX.19. Number Signs (#)
AX.20. Parentheses (())
AX.21. Percent Signs (%)
AX.22. Plus Signs (+)
AX.23. Question Marks (?)
AX.24. Quotation Marks (")
AX.25. Reverse Solidi (\)
AX.26. Semicolons (;)
AX.27. Solidi (/)
AX.28. Square Brackets ([])
AX.29. Tildes (~)
AX.30. Vertical Lines (|)
AY. Predefined Global Variables
Glossary
n
Next Page
p
Previos Page
h
Book Home
u
Go Up One Level
?
Press ? for Help
esc
Hide Help
Your Ad Here