1 Overview
1.1 Features
1.2 References
2 Installing Ruby
2.1 Operating systems
2.2 Building from Source
2.3 Compile options
2.4 Testing Installation
2.5 References
3 Ruby editors
4 Notation conventions
4.1 Command-line examples
5 Interactive Ruby
5.1 Running irb
5.2 Understanding irb output
6 Mailing List FAQ
7 Basic Ruby - Hello world
7.1 Hello world
7.2 Comments
7.3 Executable Ruby scripts
8 Basic Ruby - Strings
8.1 String literals
8.2 Single quotes
8.3 Double quotes
8.4 puts
8.5 print
8.6 See also
9 Basic Ruby - Alternate quotes
9.1 Alternate single quotes
9.2 Alternate double quotes
10 Basic Ruby - Here documents
10.1 Here documents
10.2 Indenting
10.3 Quoting rules
11 Basic Ruby - Introduction to objects
11.1 What is an object?
11.2 Variables and objects
11.3 Methods
11.4 Reassigning a variable
12 Basic Ruby - Ruby basics
13 Dealing with variables
14 Program flow
15 Writing functions
16 Blocks
17 Ruby is really, really object-oriented
18 Basic Ruby - Data types
18.1 Ruby Data Types
18.2 Constants
18.3 Symbols
18.4 Hashes
18.5 Arrays
18.6 Strings
18.7 Numbers (Integers and Floats)
18.8 Additional String Methods
19 Basic Ruby - Writing methods
19.1 Defining Methods
20 Basic Ruby - Classes and objects
20.1 Ruby Classes
20.2 Creating Instances of a Class
20.3 Creating Classes
20.4 Self
20.5 Class Methods
21 Basic Ruby - Exceptions
22 Syntax - Lexicology
22.1 Identifiers
22.2 Comments
22.3 Embedded Documentation
22.4 Reserved Words
22.5 Expressions
23 Syntax - Variables and Constants
23.1 Local Variables
23.2 Instance Variables
23.3 Class Variables
23.4 Global Variables
23.5 Constants
23.6 Pseudo Variables
23.7 Pre-defined Variables
23.8 Pre-defined Constants
23.9 Notes
24 Syntax - Literals
24.1 Numerics
24.2 Strings
24.3 Arrays
24.4 Hashes
24.5 Ranges
25 Syntax - Operators
25.1 Operators
25.2 Scope
25.3 Default scope
25.4 Local scope gotchas
25.5 Logical And
25.6 Logical Or
26 Syntax - Control Structures
26.1 Control Structures
27 Syntax - Method Calls
27.1 Method Calls
27.2 Method Definitions
27.3 Dynamic methods
27.4 Special methods
27.5 Conclusion
28 Syntax - Classes
28.1 Class Definition
28.2 Declaring Visibility
28.3 Inheritance
28.4 Mixing in Modules
28.5 Ruby Class Meta-Model
29 Syntax - Hooks
29.1 const_missing
30 References
31 Built-In Functions
32 Predefined Variables
33 Predefined Classes
33.1 Footnotes
34 Objects
35 Array
36 Class
37 Comparable
38 Encoding
39 Enumerable
39.1 Enumerable
40 Forms of Enumerator
40.1 1. As a proxy for “each”
40.2 2. As a source of values from a block
40.3 3. As an external iterator
41 Lazy evaluation
42 Methods which return Enumerators
43 More Enumerator readings
44 Exception
45 FalseClass
46 IO - Fiber
47 IO
47.1 Encoding
47.2 gets
47.3 recv
47.4 read
48 IO - File
49 File
49.1 File#chmod
49.2 File#grep
49.3 File.join
50 IO - File::Stat
51 File::Stat
52 IO - GC
53 GC
53.1 Tuning the GC
53.2 Conservative
53.3 Tunning Jruby's GC.
53.4 How to avoid performance penalty
54 IO - GC - Profiler
55 Marshal
56 Marshal
57 Method
58 Math
59 Module
60 Module - Class
61 NilClass
62 Numeric
63 Numeric - Integer
64 Numeric - Integer - Bignum
65 Numeric - Integer - Fixnum
66 Numeric - Float
67 Range
68 Regexp
69 Regexp Regular Expressions
69.1 oniguruma
69.2 Simplifying regexes
69.3 Helper websites
69.4 Alternative Regular Expression Libraries
70 RubyVM
70.1 RubyVM::InstructionSequence.disassemble
71 String
72 Struct
73 Struct
74 Struct - Struct::Tms
75 Symbol
76 Time
77 Thread
78 Thread
78.1 Thread local variables
78.2 Joining on multiple threads
78.3 Controlling Concurrency
79 TrueClass
80 Contributors
List of Figures
81 Licenses
81.1 GNU GENERAL PUBLIC LICENSE
81.2 GNU Free Documentation License
81.3 GNU Lesser General Public License