📖 Scenario: You work at a small online store. Customers enter their names and messages, but sometimes they add extra spaces or use different letter cases. You want to clean up their input before saving it.
🎯 Goal: You will write a Ruby program that takes a customer's name and message, removes extra spaces, and changes the text to uppercase or lowercase as needed.
📋 What You'll Learn
Create variables with exact names and values as instructed
Use the Ruby string methods upcase, downcase, and strip
Print the final cleaned and formatted strings exactly as shown
💡 Why This Matters
🌍 Real World
Cleaning and formatting user input is important in many apps to keep data consistent and easy to read.
💼 Career
Knowing how to manipulate strings is a basic skill for programming jobs, especially in web development and data processing.
Progress0 / 4 steps
1
Create the initial strings
Create two string variables: customer_name with the value " Alice " and customer_message with the value "Hello, I LOVE your store! ".
Ruby
Hint
Use double quotes for the strings and include the spaces exactly as shown.
2
Add variables for cleaned strings
Create two new variables: clean_name by removing spaces from customer_name using strip, and message_lower by converting customer_message to lowercase using downcase.
Ruby
Hint
Use .strip to remove spaces and .downcase to make all letters lowercase.
3
Create an uppercase message
Create a variable message_upper by converting customer_message to uppercase using upcase.
Ruby
Hint
Use .upcase to make all letters uppercase.
4
Print the cleaned and formatted strings
Print the variables clean_name, message_lower, and message_upper each on its own line, in that order.
Ruby
Hint
Use puts to print each variable on its own line.
Practice
(1/5)
1. What does the Ruby method upcase do to a string?
easy
A. Converts all letters in the string to lowercase
B. Converts all letters in the string to uppercase
C. Removes spaces from the start and end of the string
D. Reverses the string
Solution
Step 1: Understand the method name
The method upcase suggests making letters uppercase.
Step 2: Recall the method effect on strings
upcase changes all letters to uppercase, not lowercase or trimming spaces.
Final Answer:
Converts all letters in the string to uppercase -> Option B
Quick Check:
upcase = uppercase letters [OK]
Hint: Remember: upcase = uppercase letters [OK]
Common Mistakes:
Confusing upcase with downcase
Thinking upcase removes spaces
Assuming upcase reverses the string
2. Which of the following is the correct syntax to remove spaces from the start and end of a string str in Ruby?
easy
A. str.strip()
B. str.upcase()
C. strip(str)
D. str.trim()
Solution
Step 1: Identify the method to remove spaces
The Ruby method to remove spaces at start and end is strip, called on the string object.
Step 2: Check correct method call syntax
In Ruby, methods are called with dot notation: str.strip(). There is no trim method in Ruby.
Final Answer:
str.strip() -> Option A
Quick Check:
strip method called with dot = str.strip() [OK]
Hint: Use dot notation: string.strip() removes spaces [OK]
Common Mistakes:
Using strip as a standalone function
Using trim instead of strip
Calling upcase to remove spaces
3. What is the output of the following Ruby code?
str = " Hello World "
puts str.strip.upcase
medium
A. " HELLO WORLD "
B. " hello world "
C. "hello world"
D. "HELLO WORLD"
Solution
Step 1: Apply strip to the string
strip removes spaces at the start and end, so " Hello World " becomes "Hello World".
Step 2: Apply upcase to the stripped string
upcase converts all letters to uppercase, so "Hello World" becomes "HELLO WORLD".
Final Answer:
"HELLO WORLD" -> Option D
Quick Check:
strip + upcase = "HELLO WORLD" [OK]
Hint: strip removes spaces, upcase makes uppercase [OK]
Common Mistakes:
Forgetting strip removes spaces
Applying upcase before strip
Expecting original spaces to remain
4. The following Ruby code is intended to convert a string name to lowercase and remove spaces at the start and end. What is wrong?
name = " RubyLang "
name.downcase.strip
medium
A. The method strip does not exist
B. The methods are called in the wrong order
C. The result is not saved or printed
D. The string should be converted to uppercase instead
Solution
Step 1: Check method calls and order
Both downcase and strip are valid methods and can be chained in any order.
Step 2: Check if result is used
The code calls methods but does not save or print the result, so the original string remains unchanged.
Final Answer:
The result is not saved or printed -> Option C
Quick Check:
Method calls without assignment or output do nothing visible [OK]
Hint: Always save or print method results to see changes [OK]
Common Mistakes:
Thinking method order matters here
Assuming methods change string in place
Confusing strip with a non-existent method
5. You have a list of names with inconsistent spacing and letter cases:
names = [" Alice", "BOB ", " cHaRlie "]
Which Ruby code correctly cleans this list by removing spaces and making all names lowercase?
hard
A. clean_names = names.map { |n| n.strip.downcase }
B. clean_names = names.map { |n| n.downcase.chomp }
C. clean_names = names.map { |n| n.strip.upcase }
D. clean_names = names.map { |n| n.downcase }
Solution
Step 1: Understand the goal
We want to remove spaces and convert all names to lowercase.
Step 2: Check each option
clean_names = names.map { |n| n.strip.downcase } uses strip then downcase, which removes spaces first, then lowercases. clean_names = names.map { |n| n.downcase.chomp } uses chomp after downcase, but chomp removes only trailing newlines, not spaces, so spaces remain. clean_names = names.map { |n| n.strip.upcase } uses upcase which is wrong. clean_names = names.map { |n| n.downcase } does not remove spaces.
Step 3: Choose best practice
The code that uses strip to remove whitespace and downcase to lowercase correctly cleans the names.
Final Answer:
clean_names = names.map { |n| n.strip.downcase } -> Option A
Quick Check:
strip then downcase cleans names correctly [OK]
Hint: Strip spaces first, then change case for clean strings [OK]
Common Mistakes:
Using upcase instead of downcase
Confusing chomp with strip
Forgetting to map over the list
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.