Front Matter
- In Lieu Of an Introduction
- Ruby vs. Ybur
- Ruby Is For Fun
- What will we study?
- Web Programming Or Something Else?
- How Much Do Programmers Earn?
- Your Advantage
- Exercise
Part I. First Steps
- Runtime Environment
- Setting Up Windows (MacOS, Linux) For Your First Program
- Exercise
- Hello, I’m Your REPL
- Exercise
- Running a Program From a File
- Hello, I’m Your File Manager
- Exercise
- File System Essentials
- File System Navigation
- Exercise
- Shell Survival Guide
- Exercise 1
- Keep this in mind
- Exercise 2
- Exercise 3
- Be Careful
- Don’t Do This
- Text Editors
- Exercise
- Your First Program
- Exercise 1
- Exercise 2
- Variables in Ruby
- String Addition and Multiplication
Part II. Essentials
- Data Types
- Exercise
- Exercise
- Everything Is An Object (Proof)
- Type Casting (type conversion)
- Fractional Numbers
- String Interpolation
- Exercise 1
- Exercise 2
- Bang!
- Exercise
- Blocks
- Blocks With Parameters
- Exercise 1
- Exercise 2
- Methods Of Integer Class
- Exercise 1
- Exercise 2
- Testing Variables And Branching
- Exercise
- Combining Conditions
- Exercise 1
- Exercise 2
- Exercise 3
- Some Useful Methods of Ruby Language
- Random Numbers
- Exercise 1
- Exercise 2
- Exercise 3
- Exercise 4
- Guess The Number Game
- Exercise
Part III. Having Fun
- Ternary Operator
- Exercise
- Loading Indicator
- Exercise
- Methods
- Judgement Day Emulator
- Exercise 1
- Exercise 2
- Exercise 3
- Exercise 4
- Instance and Local Variables
- Programming Slot Machine
- Exercise 1
- Exercise 2
- Arrays
- Exercise
- Few Words About “Each”
- Initializing Array
- Accessing Array
- Missing Detail
- Exercise
- Battle of Robots
- Exercise
- Exercise 1
- Exercise 2
- Arrays of Arrays (two-dimensional arrays)
- Exercise 1
- Exercise 2
- Exercise 3
- Exercise 4
- Gems
- Exercise
- Accessing Array of Arrays
- Exercise 1
- Exercise 2
- Exercise 3
- Multi-dimensional Arrays
- Exercise 1
- Exercise 2
- Closer Look into Array class
- empty? method
- Methods length, size, count
- Exercise
- include? method
- Adding Elements to Arrays
- Selecting Elements by Criteria
- Rejecting Elements by Criteria
- Take Method
- Is There Any Match? (any?)
- All Elements Should Meet Criteria
- Few Words About Array Methods
- Symbols
- Exercise
- Hash
- Exercise 1
- Exercise 2, the Moon store
- Other types as Hash values
- Exercise 1
- JSON-structure of a real-world application
- Exercise 1
- Exercise 2
- English-Spanish dictionary
- Exercise 1
- Exercise 2
- Comparison of hashes and arrays
- Most often used methods of Hash class
- Setting a default value in Hash
- Exercise
- Passing parameters to methods
- Exercise
- HashSet
- Exercise 1
- Exercise 2
- Iteration over hash elements
- Exercise
- “dig” method
- Key presence
- Exercise
Part IV. Fun with Object-Oriented Programming
- Classes and objects
- State
- Exercise 1
- Exercise 2
- State, one more example
- Exercise
- Duck typing and polymorphism
- Exercise 1
- Exercise 2
- Exercise 3
- Inheritance
- Modules
- Subtyping vs Inheritance
- Exercise
- Class methods
- The truth about Object-Oriented programming
- Debugging a program
- Debugging by using output to console
- Debugging by using console debugger
- Debugging with IDE
- Practice: save the world with Ruby
- Exercise 1
- Exercise 2
- Exercise 3
- Exercise 4
- Exercise 4
- Exercise 5
- Exercise 6
- Docker, crash course
- Ruby Version Manager (RVM)
- Testing Ruby programs
- Rspec
- Exercise 1
- Exercise 2
- Final words