Bird
Raised Fist0
Rubyprogramming~10 mins

Array comparison and set operations in Ruby - Interactive Code Practice

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

Complete the code to check if two arrays are equal.

Ruby
arr1 = [1, 2, 3]
arr2 = [1, 2, 3]
puts arr1 [1] arr2
Drag options to blanks, or click blank then click option'
A==
B!=
C===
Dequal?
Attempts:
3 left
💡 Hint
Common Mistakes
Using equal? which checks object identity, not content equality.
Using != which checks inequality.
2fill in blank
medium

Complete the code to find the intersection of two arrays.

Ruby
arr1 = [1, 2, 3, 4]
arr2 = [3, 4, 5, 6]
common = arr1 [1] arr2
puts common.inspect
Drag options to blanks, or click blank then click option'
A&
B-
C|
D^
Attempts:
3 left
💡 Hint
Common Mistakes
Using | which returns union, not intersection.
Using - which returns difference.
3fill in blank
hard

Fix the error in the code to get the union of two arrays.

Ruby
arr1 = [1, 2]
arr2 = [2, 3]
union = arr1 [1] arr2
puts union.inspect
Drag options to blanks, or click blank then click option'
A+
B|
C&
D-
Attempts:
3 left
💡 Hint
Common Mistakes
Using + which concatenates but does not remove duplicates.
Using & which returns intersection.
4fill in blank
hard

Fill both blanks to create a hash with array elements as keys and their lengths as values, only for words longer than 3 letters.

Ruby
words = ["cat", "lion", "tiger", "dog"]
lengths = {word[1] for word in words if word[2] 3}
puts lengths.inspect
Drag options to blanks, or click blank then click option'
A => word.length
B >
C <
D ==
Attempts:
3 left
💡 Hint
Common Mistakes
Using < or == which filter wrong words.
Forgetting the hash rocket => in the hash comprehension.
5fill in blank
hard

Fill all three blanks to create a hash with uppercase words as keys, their lengths as values, only for words longer than 3 letters.

Ruby
words = ["apple", "bat", "carrot", "dog"]
result = {word[1]: [2] for word in words if word.length [3] 3}
puts result.inspect
Drag options to blanks, or click blank then click option'
A.upcase()
Blen(word)
C>
Dword.length
Attempts:
3 left
💡 Hint
Common Mistakes
Using len(word) which is Python syntax, not Ruby.
Using wrong comparison operators.

Practice

(1/5)
1.

Which operator in Ruby returns the common elements between two arrays?

[1, 2, 3] ? [2, 3, 4]
easy
A. & (intersection)
B. | (union)
C. - (difference)
D. == (equality)

Solution

  1. Step 1: Understand the operators

    The & operator returns elements common to both arrays.
  2. Step 2: Apply to example arrays

    For arrays [1, 2, 3] and [2, 3, 4], common elements are 2 and 3.
  3. Final Answer:

    & (intersection) -> Option A
  4. Quick Check:

    Common elements = & [OK]
Hint: Use & for common items between arrays [OK]
Common Mistakes:
  • Confusing union (|) with intersection (&)
  • Using - for common elements
  • Thinking == compares elements regardless of order
2.

Which of the following is the correct syntax to find the difference between two arrays a and b in Ruby?

easy
A. a == b
B. a - b
C. a | b
D. a & b

Solution

  1. Step 1: Recall difference operator

    The - operator returns elements in a not in b.
  2. Step 2: Confirm syntax correctness

    Using a - b is the correct Ruby syntax for difference.
  3. Final Answer:

    a - b -> Option B
  4. Quick Check:

    Difference = - [OK]
Hint: Use a - b to get items in a but not in b [OK]
Common Mistakes:
  • Using & instead of - for difference
  • Using | which is union
  • Using == which checks equality
3.

What is the output of the following Ruby code?

a = [1, 2, 3, 4]
b = [3, 4, 5, 6]
result = a | b
puts result.inspect
medium
A. [1, 2, 3, 4, 5, 6]
B. [3, 4]
C. [1, 2]
D. [1, 2, 3, 4]

Solution

  1. Step 1: Understand the union operator

    The | operator combines all unique elements from both arrays.
  2. Step 2: Apply union to arrays

    Arrays a and b combined uniquely are [1, 2, 3, 4, 5, 6].
  3. Final Answer:

    [1, 2, 3, 4, 5, 6] -> Option A
  4. Quick Check:

    Union = | [OK]
Hint: Use | to combine unique elements from both arrays [OK]
Common Mistakes:
  • Confusing union with intersection
  • Expecting duplicates in output
  • Using - which removes elements
4.

Identify the error in the following Ruby code snippet:

a = [1, 2, 3]
b = [2, 3, 4]
result = a & b
puts result

What is the problem?

medium
A. Syntax error due to missing parentheses
B. Outputs all elements from both arrays
C. Runtime error because & is not defined for arrays
D. No error; code runs and outputs common elements

Solution

  1. Step 1: Check syntax and operators

    The & operator is valid for arrays to find intersection.
  2. Step 2: Verify output behavior

    The code outputs common elements [2, 3] without error.
  3. Final Answer:

    No error; code runs and outputs common elements -> Option D
  4. Quick Check:

    Intersection & works fine [OK]
Hint: & works for arrays to find common items without syntax errors [OK]
Common Mistakes:
  • Thinking & causes syntax error
  • Expecting union instead of intersection
  • Confusing output with difference
5.

You have two arrays representing user IDs:

active_users = [101, 102, 103, 104, 105]
inactive_users = [103, 105, 107]

Which Ruby expression gives you the list of users who are active but not inactive?

hard
A. active_users | inactive_users
B. active_users & inactive_users
C. active_users - inactive_users
D. active_users == inactive_users

Solution

  1. Step 1: Understand the problem

    We want users in active_users but not in inactive_users.
  2. Step 2: Use difference operator

    The - operator returns elements in first array not in second.
  3. Step 3: Apply to given arrays

    active_users - inactive_users = [101, 102, 104]
  4. Final Answer:

    active_users - inactive_users -> Option C
  5. Quick Check:

    Difference = - [OK]
Hint: Use - to exclude inactive from active users [OK]
Common Mistakes:
  • Using & which gives only common users
  • Using | which combines all users
  • Using == which checks equality
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