📖 Scenario: You are creating a simple program that stores greetings using different types of quotes in Ruby. This will help you understand how to create strings with single and double quotes.
🎯 Goal: Build a Ruby program that creates strings using both single and double quotes, then prints them.
📋 What You'll Learn
Create a string variable using single quotes
Create a string variable using double quotes
Print both string variables
💡 Why This Matters
🌍 Real World
Creating strings with different quotes is common when handling text data, user messages, or code that needs quotes inside strings.
💼 Career
Understanding string creation is essential for any programming job, especially when working with text processing, web development, or scripting.
Progress0 / 4 steps
1
Create a string with single quotes
Create a string variable called greeting_single and set it to the text 'Hello, world!' using single quotes.
Ruby
Hint
Use single quotes around the text to create the string.
2
Create a string with double quotes
Create a string variable called greeting_double and set it to the text "Hello, Ruby!" using double quotes.
Ruby
Hint
Use double quotes around the text to create the string.
3
Use both strings in a loop
Use a for loop with the variable greeting to iterate over the list [greeting_single, greeting_double] and print each greeting inside the loop.
Ruby
Hint
Use for greeting in [greeting_single, greeting_double] and inside the loop use puts greeting to print.
4
Print both greetings separately
Write two puts statements to print the variables greeting_single and greeting_double separately.
Ruby
Hint
Use puts greeting_single and puts greeting_double to print each string.
Practice
(1/5)
1. Which of the following is the correct way to create a simple string with the text Hello World in Ruby?
easy
A. Using single quotes: 'Hello World'
B. Using double quotes: "Hello World"
C. Using backticks: `Hello World`
D. Using parentheses: (Hello World)
Solution
Step 1: Understand string creation in Ruby
Ruby allows strings to be created using single or double quotes. Single quotes are simplest for plain text.
Step 2: Identify the correct syntax for simple strings
Single quotes 'Hello World' correctly create a string without special processing.
Final Answer:
Using single quotes: 'Hello World' -> Option A
Quick Check:
Simple text string = single quotes [OK]
Hint: Use single quotes for plain text strings [OK]
Common Mistakes:
Using backticks which execute commands
Using parentheses which are not string delimiters
Confusing single and double quotes for simple strings
2. Which of the following is the correct syntax to include a newline character inside a string in Ruby?
easy
A. "Hello nWorld"
B. 'Hello\nWorld'
C. "Hello\\nWorld"
D. "Hello\nWorld"
Solution
Step 1: Understand how Ruby handles escape sequences
Escape sequences like \n (newline) work only inside double-quoted strings, not single-quoted.
Step 2: Identify the correct string with newline
Double quotes with \n will create a newline, so "Hello\nWorld" is correct.
Final Answer:
"Hello\nWorld" -> Option D
Quick Check:
Escape sequences need double quotes [OK]
Hint: Use double quotes for special characters like \n [OK]
Common Mistakes:
Using single quotes which treat \n as literal text
Forgetting to escape backslash properly
Confusing single and double quotes for escape sequences
3. What will be the output of the following Ruby code?
name = "Alice"
puts 'Hello, #{name}!'
puts "Hello, #{name}!"
medium
A. Hello, #{name}!
Hello, Alice!
B. Hello, Alice!
Hello, Alice!
C. Hello, #{name}!
Hello, #{name}!
D. Hello, Alice!
Hello, #{name}!
Solution
Step 1: Understand string interpolation in Ruby
Interpolation #{variable} works only inside double-quoted strings, not single-quoted.
Step 2: Analyze each puts statement output
First puts uses single quotes, so prints literally 'Hello, #{name}!'. Second uses double quotes, so inserts variable value 'Alice'.
Final Answer:
Hello, #{name}!
Hello, Alice! -> Option A
Quick Check:
Interpolation only in double quotes [OK]
Hint: Only double quotes allow #{variable} interpolation [OK]
Common Mistakes:
Assuming interpolation works in single quotes
Confusing output order
Ignoring difference between single and double quotes
4. Identify the error in the following Ruby code:
str = 'It's a sunny day'
medium
A. SyntaxError due to missing double quotes
B. No error, string is valid
C. SyntaxError due to unescaped single quote inside single-quoted string
D. Runtime error due to invalid string
Solution
Step 1: Check string delimiters and content
The string uses single quotes outside and contains an unescaped single quote inside (It's), which breaks syntax.
Step 2: Understand how to fix the error
To fix, either escape the inner single quote as \' or use double quotes outside.
Final Answer:
SyntaxError due to unescaped single quote inside single-quoted string -> Option C
Quick Check:
Escape inner quotes or use double quotes [OK]
Hint: Escape inner quotes or use double quotes [OK]
Common Mistakes:
Ignoring the need to escape inner single quotes
Assuming single quotes allow unescaped inner single quotes
Confusing syntax and runtime errors
5. You want to create a string that contains both single and double quotes exactly as: She said, "It's fine." Which of the following Ruby strings correctly represents this?
hard
A. 'She said, 'It\'s fine.''
B. "She said, \"It's fine.\""
C. "She said, "It's fine.""
D. 'She said, "It\'s fine."'
Solution
Step 1: Analyze the string content
The string contains double quotes around the phrase and a single quote inside the word It's.
Step 2: Check each option for correct escaping
"She said, \"It's fine.\"" uses double quotes outside, escapes inner double quotes with \", and leaves single quote unescaped (allowed inside double quotes). This is correct.
Step 3: Identify errors in other options
'She said, "It\'s fine."' uses single quotes outside but escapes single quote inside, which is valid but escapes double quotes unnecessarily. "She said, "It's fine."" has unescaped double quotes inside double quotes causing syntax error. 'She said, 'It\'s fine.'' has unescaped single quotes inside single quotes causing syntax error.