Bird
Raised Fist0
Rubyprogramming~10 mins

Why everything is an object in Ruby - Test Your Understanding

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to create a string object in Ruby.

Ruby
greeting = [1]
Drag options to blanks, or click blank then click option'
Astring("Hello")
BHello
C'Hello'.to_s
D"Hello"
Attempts:
3 left
💡 Hint
Common Mistakes
Forgetting quotes around the text.
Using a method that does not exist like string().
2fill in blank
medium

Complete the code to check the class of an object in Ruby.

Ruby
number = 10
puts number.[1]
Drag options to blanks, or click blank then click option'
Aclass
Bkind
Ctype
Dobject_type
Attempts:
3 left
💡 Hint
Common Mistakes
Using type which is not a Ruby method.
Using kind or object_type which do not exist.
3fill in blank
hard

Fix the error in the code to call a method on an integer object.

Ruby
num = 5
puts num.[1]
Drag options to blanks, or click blank then click option'
Ato_s
Blength
Cupcase
Dsplit
Attempts:
3 left
💡 Hint
Common Mistakes
Trying to use string methods on numbers.
Using methods that do not exist for integers.
4fill in blank
hard

Fill both blanks to create a hash with symbol keys and access a value.

Ruby
person = { [1]: "Alice", [2]: 30 }
age = person[:age]
puts age
Drag options to blanks, or click blank then click option'
Aname
Bage
C"name"
D"age"
Attempts:
3 left
💡 Hint
Common Mistakes
Using strings as keys but accessing with symbols.
Putting quotes around keys when symbols are expected.
5fill in blank
hard

Fill all three blanks to create an array, add an element, and print its length.

Ruby
fruits = [1]
fruits.[2]("banana")
puts fruits.[3]
Drag options to blanks, or click blank then click option'
A[]
Bpush
Clength
Dappend
Attempts:
3 left
💡 Hint
Common Mistakes
Using append which is not a Ruby array method.
Using parentheses instead of square brackets for arrays.

Practice

(1/5)
1. In Ruby, why is everything considered an object?
easy
A. Because Ruby does not allow variables
B. Because Ruby only supports numbers and strings
C. Because all data types can use methods and behave uniformly
D. Because objects are only for complex data types

Solution

  1. Step 1: Understand Ruby's data model

    Ruby treats all data types, including numbers and booleans, as objects.
  2. Step 2: Recognize the benefit of uniform behavior

    This means you can call methods on any data type, making the language consistent and flexible.
  3. Final Answer:

    Because all data types can use methods and behave uniformly -> Option C
  4. Quick Check:

    Everything is an object [OK]
Hint: Remember: all data types act like objects in Ruby [OK]
Common Mistakes:
  • Thinking only complex data types are objects
  • Believing Ruby restricts variables
  • Assuming numbers are not objects
2. Which of the following is the correct way to call a method on a number in Ruby?
easy
A. 5.to_s
B. to_s(5)
C. 5->to_s()
D. to_s 5

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 a number

    Since numbers are objects, calling 5.to_s converts the number 5 to a string.
  3. Final Answer:

    5.to_s -> Option A
  4. Quick Check:

    Method call syntax [OK]
Hint: Use dot notation to call methods on any object [OK]
Common Mistakes:
  • Using function-style calls like to_s(5)
  • Trying arrow notation like 5->to_s()
  • Omitting the dot between object and method
3. What will be the output of this Ruby code?
puts true.class
medium
A. Boolean
B. TrueClass
C. Object
D. Error

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 true

    In Ruby, the boolean value true is an instance of the class TrueClass.
  3. Final Answer:

    TrueClass -> Option B
  4. Quick Check:

    true.class = TrueClass [OK]
Hint: Use .class to find an object's class in Ruby [OK]
Common Mistakes:
  • Assuming true is Boolean type
  • Expecting output 'Object'
  • Thinking code causes an error
4. Identify the error in this Ruby code snippet:
number = 10
puts number.length
medium
A. Numbers do not have a length method
B. Variable 'number' is not defined
C. Missing parentheses in method call
D. Syntax error in assignment

Solution

  1. Step 1: Check the object type and method

    The variable number holds an integer (10), which is an object of class Integer.
  2. Step 2: Verify if Integer has a length method

    Integer objects do not have a length method, so calling it causes a NoMethodError.
  3. Final Answer:

    Numbers do not have a length method -> Option A
  4. Quick Check:

    Integer has no length method [OK]
Hint: Check if method exists for the object's class before calling [OK]
Common Mistakes:
  • Assuming all objects have length method
  • Thinking variable is undefined
  • Confusing syntax errors with method errors
5. How can you use Ruby's object nature to convert an integer to a string and then get its length in one line?
hard
A. to_s(number).length
B. length(number.to_s)
C. number.length.to_s
D. number.to_s.length

Solution

  1. Step 1: Convert integer to string using to_s

    Since numbers are objects, you can call to_s on them to get a string representation.
  2. Step 2: Call length on the resulting string

    Strings have a length method that returns the number of characters.
  3. Final Answer:

    number.to_s.length -> Option D
  4. Quick Check:

    Chain methods: to_s then length [OK]
Hint: Chain methods: convert then get length in one line [OK]
Common Mistakes:
  • Calling length on integer directly
  • Using function syntax instead of method chaining
  • Reversing method order
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