Bird
Raised Fist0
Rubyprogramming~5 mins

Everything is an object mental model in Ruby - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does the 'Everything is an object' mental model mean in Ruby?
In Ruby, everything you work with is an object. Numbers, strings, methods, and even classes themselves are objects. This means they all have methods and properties you can use.
Click to reveal answer
beginner
How can you call a method on a number in Ruby?
Since numbers are objects, you can call methods on them like this: 5.next which returns 6.
Click to reveal answer
intermediate
Are classes in Ruby objects too?
Yes! Classes in Ruby are objects of the class Class. This means you can call methods on classes themselves.
Click to reveal answer
beginner
What is the class of a string like "hello" in Ruby?
The class of "hello" is String. You can check this by calling <code>"hello".class</code> which returns <code>String</code>.
Click to reveal answer
intermediate
Why is the 'Everything is an object' model helpful?
It helps you understand that you can use methods on any value, making Ruby very consistent and flexible. It also means you can extend or change behavior by adding methods to objects.
Click to reveal answer
In Ruby, what is the class of the number 10?
AInteger
BNumber
CFixnum
DObject
Which of these is NOT true about Ruby's 'Everything is an object' model?
AClasses themselves are objects.
BOnly strings and arrays are objects.
CYou can call methods on numbers.
DEven true and false are objects.
What will "hello".class return in Ruby?
AClass
BObject
CText
DString
Which class do all Ruby classes belong to?
AClass
BObject
CModule
DString
What does calling 5.next return in Ruby?
A7
B5
C6
DError
Explain the 'Everything is an object' mental model in Ruby and give two examples.
Think about how you can call methods on numbers and strings.
You got /3 concepts.
    Why does Ruby treat classes as objects? How does this affect how you use classes?
    Consider how classes themselves can have methods.
    You got /3 concepts.

      Practice

      (1/5)
      1. In Ruby, which of the following is not considered an object?
      easy
      A. Numbers like 5
      B. Strings like "hello"
      C. Booleans like true
      D. Variables themselves

      Solution

      1. Step 1: Understand Ruby's object model

        In Ruby, everything you work with directly, like numbers, strings, and booleans, are objects.
      2. Step 2: Differentiate variables from objects

        Variables are names or references pointing to objects, but they themselves are not objects.
      3. Final Answer:

        Variables themselves are not objects -> Option D
      4. Quick Check:

        Variables are references, not objects [OK]
      Hint: Remember: variables point to objects, they aren't objects themselves [OK]
      Common Mistakes:
      • Thinking variables are objects
      • Confusing object instances with variable names
      • Assuming booleans are not objects
      2. Which of the following is the correct way to call the method upcase on a string object name in Ruby?
      easy
      A. name.upcase
      B. upcase(name)
      C. name->upcase()
      D. upcase.name()

      Solution

      1. Step 1: Recall Ruby method call syntax

        In Ruby, methods are called on objects using dot notation: object.method.
      2. Step 2: Apply to the string object

        For the string variable name, calling upcase is done as name.upcase.
      3. Final Answer:

        name.upcase -> Option A
      4. Quick Check:

        Method call syntax = object.method [OK]
      Hint: Use dot (.) to call methods on objects in Ruby [OK]
      Common Mistakes:
      • Using function-style calls like upcase(name)
      • Using arrow (->) notation from other languages
      • Placing method after dot incorrectly
      3. What will be the output of the following Ruby code?
      num = 10
      puts num.class
      medium
      A. Integer
      B. Fixnum
      C. Numeric
      D. Object

      Solution

      1. Step 1: Understand the class method

        The class method returns the class of the object it is called on.
      2. Step 2: Identify the class of the number 10 in Ruby 3.12+

        In modern Ruby versions, integers are instances of the Integer class (Fixnum and Bignum were unified).
      3. Final Answer:

        Integer -> Option A
      4. Quick Check:

        10.class = Integer [OK]
      Hint: Use .class to find an object's type in Ruby [OK]
      Common Mistakes:
      • Choosing Fixnum (old Ruby versions)
      • Confusing Numeric with Integer
      • Thinking class returns Object always
      4. The following Ruby code prints nothing. What is the problem?
      text = "HELLO"
      puts text.upcase!
      medium
      A. Missing parentheses for method call
      B. Using upcase! on a string literal causes error
      C. The method upcase! returns nil if no changes made
      D. Strings are not objects, so methods can't be called

      Solution

      1. Step 1: Understand upcase! behavior

        The upcase! method modifies the string in place and returns nil if no changes were made.
      2. Step 2: Analyze the code's output

        Since "HELLO" is uppercase, upcase! makes no changes and returns nil, so puts prints nothing.
      3. Step 3: Identify the error cause

        The return value nil is printed when no mutation occurs.
      4. Final Answer:

        upcase! returns nil if no changes made -> Option C
      5. Quick Check:

        Bang methods can return nil if no change [OK]
      Hint: Bang (!) methods may return nil if no change happens [OK]
      Common Mistakes:
      • Thinking bang methods always return a string
      • Assuming strings are not objects
      • Missing that upcase! modifies in place
      5. Given the code below, what will be the output?
      class NumberWrapper
        def initialize(value)
          @value = value
        end
      
        def to_s
          "Value is: #{@value.to_s}"
        end
      end
      
      num = NumberWrapper.new(42)
      puts num.to_s
      hard
      A. 42
      B. Value is: 42
      C. Value is: @value
      D. Error: undefined method to_s

      Solution

      1. Step 1: Understand the class and method definitions

        The class NumberWrapper stores a value and defines a to_s method that returns a string including the value.
      2. Step 2: Analyze the to_s method call

        The method returns the string "Value is: " plus the string version of @value, which is 42.
      3. Step 3: Check the output of puts num.to_s

        It prints the string returned by to_s, which is "Value is: 42".
      4. Final Answer:

        Value is: 42 -> Option B
      5. Quick Check:

        Custom to_s returns formatted string [OK]
      Hint: to_s returns string representation of any object [OK]
      Common Mistakes:
      • Expecting just the number without text
      • Confusing instance variable with string literal
      • Thinking to_s is undefined
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard