Array comparison and set operations in Ruby - Mini Project: Build & Apply
event1_attendees with these exact names: "Alice", "Bob", "Charlie". Also create an array called event2_attendees with these exact names: "Bob", "Diana", "Edward".Use square brackets [] to create arrays and separate names with commas.
common_attendees that holds the names present in both event1_attendees and event2_attendees. Create a variable called unique_to_event1 that holds names in event1_attendees but not in event2_attendees. Create a variable called all_attendees that holds all unique names from both arrays combined.Use & for intersection, - for difference, and | for union of arrays.
common_str that joins the names in common_attendees with commas. Create a variable called unique_str that joins the names in unique_to_event1 with commas. Create a variable called all_str that joins the names in all_attendees with commas.Use the join method with ", " to combine array elements into a string.
puts: 1.
"Common attendees: " followed by common_str2.
"Unique to event 1: " followed by unique_str3.
"All attendees: " followed by all_strUse puts and string interpolation with #{} to print variables inside strings.
Practice
Which operator in Ruby returns the common elements between two arrays?
[1, 2, 3] ? [2, 3, 4]Solution
Step 1: Understand the operators
The&operator returns elements common to both arrays.Step 2: Apply to example arrays
For arrays [1, 2, 3] and [2, 3, 4], common elements are 2 and 3.Final Answer:
& (intersection) -> Option AQuick Check:
Common elements = & [OK]
- Confusing union (|) with intersection (&)
- Using - for common elements
- Thinking == compares elements regardless of order
Which of the following is the correct syntax to find the difference between two arrays a and b in Ruby?
Solution
Step 1: Recall difference operator
The-operator returns elements inanot inb.Step 2: Confirm syntax correctness
Usinga - bis the correct Ruby syntax for difference.Final Answer:
a - b -> Option BQuick Check:
Difference = - [OK]
- Using & instead of - for difference
- Using | which is union
- Using == which checks equality
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
Solution
Step 1: Understand the union operator
The|operator combines all unique elements from both arrays.Step 2: Apply union to arrays
Arrays a and b combined uniquely are [1, 2, 3, 4, 5, 6].Final Answer:
[1, 2, 3, 4, 5, 6] -> Option AQuick Check:
Union = | [OK]
- Confusing union with intersection
- Expecting duplicates in output
- Using - which removes elements
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?
Solution
Step 1: Check syntax and operators
The&operator is valid for arrays to find intersection.Step 2: Verify output behavior
The code outputs common elements [2, 3] without error.Final Answer:
No error; code runs and outputs common elements -> Option DQuick Check:
Intersection & works fine [OK]
- Thinking & causes syntax error
- Expecting union instead of intersection
- Confusing output with difference
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?
Solution
Step 1: Understand the problem
We want users in active_users but not in inactive_users.Step 2: Use difference operator
The-operator returns elements in first array not in second.Step 3: Apply to given arrays
active_users - inactive_users = [101, 102, 104]Final Answer:
active_users - inactive_users -> Option CQuick Check:
Difference = - [OK]
- Using & which gives only common users
- Using | which combines all users
- Using == which checks equality
Ready to prove it?
Pass the test and this pattern moves unknown
