Skip to content

Ruby Basics Flashcards - Wyatt's Notes

Ruby Basics Flashcards

15 flashcards covering core Ruby concepts. Tap a card to reveal the answer.


Intuition

Ruby is a language designed for developer happiness — everything is an object, and blocks/procs/lambdas make functional patterns feel natural alongside OOP. Metaprogramming is Ruby’s superpower: you can define methods at runtime, open existing classes to add methods, and use method_missing to handle calls to undefined methods. Modules provide mixins for code reuse without multiple inheritance problems.

How to Use These Flashcards

First pass: Go through all 15 cards without rating — just flip and read. This familiarises you with the content and identifies weak areas.

IRB practice: After reviewing a card, open IRB (Interactive Ruby) and experiment with the concept. Ruby’s interactive nature makes it perfect for rapid experimentation.

Rails connection: If you’re learning Ruby for Rails, relate each concept to its Rails use case — blocks for route definitions, mixins for concerns, metaprogramming for ActiveRecord.

Common Pitfalls

  • Monkey patching risks: Reopening a class and changing method behaviour affects every instance globally — this can introduce hard-to-debug conflicts between libraries.
  • Symbol vs string: :symbol and "string" differ — symbols are immutable and interned (memory efficient), strings are mutable. Use symbols for hash keys and identifiers.
  • Block vs proc vs lambda: Blocks are not objects, Procs don’t check argument count, and Lambdas do — mixing them up causes subtle argument-passing bugs.

Study Tips

  • Use IRB for rapid experimentation: Ruby’s interactive shell is perfect for testing metaprogramming techniques, exploring the object model, and verifying assumptions about method dispatch.
  • Read the Ruby style guide: The community style guide (rubystyle.guide) covers conventions that make Ruby code readable and maintainable. Follow it from the beginning.
  • Study Rails source code: Rails is a masterclass in Ruby metaprogramming. Reading how ActiveRecord defines dynamic finders or how ActiveRecord::Base uses method_missing reveals advanced techniques.
  • Write your own metaprogramming examples: Create a simple class that uses method_missing to delegate calls, or define methods dynamically with define_method. Hands-on experimentation builds understanding.
  • Practise with blocks and procs: Write functions that accept blocks using yield, convert blocks to procs with &block, and use lambdas for strict argument checking.
  • Explore Ruby 3.x features: Ractors for concurrency, endless methods for brevity, and pattern matching for data destructuring are modern additions worth learning.
  • Study the Enumerable module: Ruby’s Enumerable mixin provides powerful iteration methods (map, select, reduce, sort_by). Understanding how to use and extend Enumerable is fundamental to idiomatic Ruby.
  • Practise with regular expressions: Ruby’s regex support is excellent. Write patterns for common validation tasks (email, phone, URL) and use match?, scan, and gsub for string processing.

Cross-References

  • Site Home: Main landing page for ruby notes.
  • Practice: Practice problems for revision.

Detailed Content

This topic covers the fundamental principles and applications in depth. Each concept is explained with clear definitions, worked examples, and practice problems to reinforce understanding.

Core Concepts

Understanding these core concepts is essential for mastering this topic. They form the foundation for more advanced study and are frequently examined.

Worked Examples

Worked examples demonstrate how to apply the concepts to solve problems. Each example is broken down into clear steps with explanations.

Common Mistakes

  • Rushing through foundational material
  • Not practising problems after reading
  • Failing to connect concepts across topics

Further Reading

Consult the recommended textbooks and additional resources for deeper understanding of this topic.

Detailed Content

This topic covers the fundamental principles and applications in depth. Each concept is explained with clear definitions, worked examples, and practice problems to reinforce understanding.

Core Concepts

Understanding these core concepts is essential for mastering this topic. They form the foundation for more advanced study and are frequently examined.

Worked Examples

Worked examples demonstrate how to apply the concepts to solve problems. Each example is broken down into clear steps with explanations.

Common Mistakes

  • Rushing through foundational material
  • Not practising problems after reading
  • Failing to connect concepts across topics

Further Reading

Consult the recommended textbooks and additional resources for deeper understanding of this topic.

Detailed Content

This topic covers the fundamental principles and applications in depth. Each concept is explained with clear definitions, worked examples, and practice problems to reinforce understanding.

Core Concepts

Understanding these core concepts is essential for mastering this topic. They form the foundation for more advanced study and are frequently examined.

Worked Examples

Worked examples demonstrate how to apply the concepts to solve problems. Each example is broken down into clear steps with explanations.

Common Mistakes

  • Rushing through foundational material
  • Not practising problems after reading
  • Failing to connect concepts across topics

Further Reading

Consult the recommended textbooks and additional resources for deeper understanding of this topic.

Detailed Content

This topic covers the fundamental principles and applications in depth. Each concept is explained with clear definitions, worked examples, and practice problems to reinforce understanding.

Core Concepts

Understanding these core concepts is essential for mastering this topic. They form the foundation for more advanced study and are frequently examined.

Worked Examples

Worked examples demonstrate how to apply the concepts to solve problems. Each example is broken down into clear steps with explanations.

Common Mistakes

  • Rushing through foundational material
  • Not practising problems after reading
  • Failing to connect concepts across topics

Further Reading

Consult the recommended textbooks and additional resources for deeper understanding of this topic.

Detailed Content

This topic covers the fundamental principles and applications in depth. Each concept is explained with clear definitions, worked examples, and practice problems to reinforce understanding.

Core Concepts

Understanding these core concepts is essential for mastering this topic. They form the foundation for more advanced study and are frequently examined.

Worked Examples

Worked examples demonstrate how to apply the concepts to solve problems. Each example is broken down into clear steps with explanations.

Common Mistakes

  • Rushing through foundational material
  • Not practising problems after reading
  • Failing to connect concepts across topics

Further Reading

Consult the recommended textbooks and additional resources for deeper understanding of this topic.