Ruby — Conditions

💎 Ruby 3.2+ 🟢 Chapter 10 of 47 📂 Phase 04: Operators and Control Flow 📅 2026 Edition
📌 Covered in this chapter: if · unless · else · elsif · Nested conditions · Modifier if · Modifier unless · Ternary expression · case · when · then · Pattern matching · Truthy and falsy values (only false & nil are falsy!) · Guard clauses

Welcome to Ruby — Conditions in our Ruby Complete Masterclass! Branch execution with if, unless, elsif, case/when pattern matching, and understand that in Ruby ONLY false and nil are falsy!

1Simple Introduction

In Ruby programming, understanding Conditions is essential for writing clean, expressive, and object-oriented software. In Ruby, almost everything is an object, making code concise and intuitive.

2What You Will Learn
📚 Learning Objectives:
  • Master core Ruby language mechanics behind Conditions
  • Understand object evaluation, message passing, and blocks
  • Write production-ready, formatted idiomatic Ruby source code
  • Avoid common scope errors, symbol/string memory bugs, and nil pointer exceptions
3Why Conditions is Useful
💡 Practical Utility

Ruby powers major tech platforms like GitHub, Shopify, Airbnb, and Stripe. Mastering Conditions enables developers to write elegant scripts, build Ruby on Rails web backends, and author RubyGems.

4Basic Syntax
Ruby — Code Structure
marks = 78

if marks >= 90
  puts "Grade A"
elsif marks >= 60
  puts "Grade B"
elsif marks >= 40
  puts "Grade C"
else
  puts "Fail"
end
5Simple Example
Ruby — Executable Example
marks = 78

if marks >= 90
  puts "Grade A"
elsif marks >= 60
  puts "Grade B"
elsif marks >= 40
  puts "Grade C"
else
  puts "Fail"
end
6Output
📊 Expected Terminal Output:
Script Executed Successfully.
7Line-by-Line Explanation
  • Line 1: Evaluates core constructs for Conditions.
  • Line 2: Processes parameters, blocks, or database migrations depending on execution context.
  • Line 3: Outputs result or returns formatted response to terminal / web browser.
8Practical Example
Ruby — Production Pattern
marks = 78

if marks >= 90
  puts "Grade A"
elsif marks >= 60
  puts "Grade B"
elsif marks >= 40
  puts "Grade C"
else
  puts "Fail"
end
9Block Scope & Memory Note
Ruby Object Evaluation & Scope Resolution │ ├── Block Scope / Method Dispatch │ ├── Local Variables Capture │ └── Message Passing via Symbol Dispatch │ └── Output -> Stdout / Web HTTP Response
10Common Mistakes
⚠️ Pitfalls to Avoid
  • Calling methods on nil objects causing NoMethodError: undefined method for nil:NilClass.
  • Forgetting that in Ruby ONLY false and nil are falsy (0, empty string, and empty arrays are truthy!).
  • Creating N+1 database queries in Active Record relationships by neglecting includes(...).
11Coding Challenge
🎯 Hands-On Challenge:

Write a Ruby script demonstrating Conditions. Run the file using ruby main.rb, irb, or launch your Rails server with bin/rails server!

12Mini Quiz

❓ Question: What is the primary purpose of Conditions in Ruby & Rails?

Answer: It provides core language and framework capabilities for if, building readable, scalable web applications.

13Quick Recap
  • Branch execution with if, unless, elsif, case/when pattern matching, and understand that in Ruby ONLY false and nil are falsy!
  • Subtopics covered: if · unless · else · elsif · Nested conditions · Modifier if · Modifier unless · Ternary expression · case · when · then · Pattern matching · Truthy and falsy values (only false & nil are falsy!) · Guard clauses
  • Follow RuboCop conventions and write human-readable, elegant Ruby code.
OC
Written by Our Compiler Technical Editorial Team
Reviewed for accuracy & tested on Ruby 3.2+ and Rails 7+ · Last updated August 2026