Bird
Raised Fist0
Rubyprogramming~5 mins

String interpolation with #{} in Ruby - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is string interpolation in Ruby?
String interpolation in Ruby is a way to insert the value of a variable or expression directly into a string using #{ } inside double quotes.
Click to reveal answer
beginner
How do you write a string with a variable inside it using interpolation?
Use double quotes and place the variable inside #{ }. For example: "Hello, #{name}!" will insert the value of the variable name.
Click to reveal answer
intermediate
Why does string interpolation only work with double quotes and not single quotes?
Ruby treats single-quoted strings as plain text and does not process #{ } inside them. Double-quoted strings allow Ruby to evaluate the code inside #{ }.
Click to reveal answer
beginner
Example: What is the output of this Ruby code? name = "Sam"; puts "Hi, #{name}!"
The output will be: Hi, Sam! The #{name} is replaced by the value of the variable name.
Click to reveal answer
intermediate
Can you put any Ruby expression inside #{ } in a string?
Yes! You can put any Ruby code that returns a value inside #{ }, like calculations or method calls, and Ruby will insert the result into the string.
Click to reveal answer
Which of these strings will correctly show the value of variable age using interpolation?
A"I am #{age} years old."
B'I am #{age} years old.'
C"I am $age years old."
D'I am $age years old.'
What will this code print? puts "2 + 3 = #{2 + 3}"
A2 + 3 = #{2 + 3}
B2 + 3 = 2 + 3
C2 + 3 = 5
DError
What happens if you use single quotes with #{ } like '#{name}'?
AIt removes the #{ }
BIt shows the value of name
CIt causes an error
DIt shows the text #{name} literally
Which is true about string interpolation in Ruby?
AIt works only with numbers
BIt only works inside double-quoted strings
CIt only works inside single-quoted strings
DIt works inside both single and double quotes
Can you put method calls inside #{ } in a string?
AYes, Ruby evaluates any expression inside #{ }
BNo, only variables are allowed
COnly numbers are allowed
DOnly strings are allowed
Explain how string interpolation works in Ruby and why double quotes are necessary.
Think about how Ruby treats single vs double quotes.
You got /4 concepts.
    Give an example of using string interpolation with a variable and with a calculation inside the string.
    Try to show both simple and expression interpolation.
    You got /4 concepts.

      Practice

      (1/5)
      1. What does the #{} syntax do inside a double-quoted string in Ruby?
      easy
      A. It inserts the value of the expression inside the braces into the string.
      B. It comments out the code inside the braces.
      C. It creates a new variable named after the expression inside the braces.
      D. It escapes special characters inside the string.

      Solution

      1. Step 1: Understand string interpolation syntax

        In Ruby, #{} inside double quotes allows inserting the value of Ruby expressions directly into the string.
      2. Step 2: Recognize the purpose of #{}

        This syntax evaluates the expression inside the braces and converts it to a string to include it in the larger string.
      3. Final Answer:

        It inserts the value of the expression inside the braces into the string. -> Option A
      4. Quick Check:

        #{expression} inserts value [OK]
      Hint: Use #{ } inside double quotes to embed values [OK]
      Common Mistakes:
      • Using #{ } inside single quotes expecting interpolation
      • Thinking #{ } comments out code
      • Confusing #{ } with variable declaration
      2. Which of the following is the correct way to use string interpolation to insert the variable name into a string?
      easy
      A. "Hello, \#{name}!"
      B. 'Hello, #{name}!'
      C. "Hello, #{name}!"
      D. "Hello, #name!"

      Solution

      1. Step 1: Identify correct string quotes for interpolation

        Ruby only processes #{} interpolation inside double-quoted strings, not single-quoted.
      2. Step 2: Check syntax correctness

        "Hello, #{name}!" uses double quotes and #{name} correctly. 'Hello, #{name}!' uses single quotes, so no interpolation. "Hello, \#{name}!" escapes the #, so no interpolation. "Hello, #name!" misses braces, so no interpolation.
      3. Final Answer:

        "Hello, #{name}!" -> Option C
      4. Quick Check:

        Double quotes + #{variable} = interpolation [OK]
      Hint: Use double quotes and #{variable} for interpolation [OK]
      Common Mistakes:
      • Using single quotes which do not interpolate
      • Escaping # which disables interpolation
      • Omitting braces around variable
      3. What is the output of the following Ruby code?
      name = "Alice"
      age = 30
      puts "Name: #{name}, Age: #{age + 5}"
      medium
      A. Name: Alice, Age: age + 5
      B. Name: Alice, Age: 30 + 5
      C. Name: #{name}, Age: #{age + 5}
      D. Name: Alice, Age: 35

      Solution

      1. Step 1: Evaluate expressions inside #{}

        The variable name is "Alice" and age is 30. The expression age + 5 evaluates to 35.
      2. Step 2: Construct the output string

        The string becomes "Name: Alice, Age: 35" and is printed by puts.
      3. Final Answer:

        Name: Alice, Age: 35 -> Option D
      4. Quick Check:

        #{age + 5} calculates 35 [OK]
      Hint: Expressions inside #{ } are evaluated before insertion [OK]
      Common Mistakes:
      • Treating #{age + 5} as a string literal
      • Not evaluating arithmetic inside interpolation
      • Confusing output with raw code
      4. Identify the error in this Ruby code snippet:
      count = 10
      puts "You have #{count messages}"
      medium
      A. Invalid expression inside #{}, spaces not allowed without operator
      B. Missing operator inside #{}, should be #{count + ' messages'}
      C. Syntax error due to missing closing brace
      D. No error, code runs fine

      Solution

      1. Step 1: Analyze the expression inside #{}

        The expression inside interpolation is count messages which is invalid syntax because Ruby expects a valid expression without spaces unless operators are used.
      2. Step 2: Understand correct usage

        To concatenate or combine, you need an operator like + or string interpolation with proper syntax, e.g., "#{count} messages".
      3. Final Answer:

        Invalid expression inside #{}, spaces not allowed without operator -> Option A
      4. Quick Check:

        #{expression} must be valid Ruby code [OK]
      Hint: Expressions inside #{ } must be valid Ruby code without spaces [OK]
      Common Mistakes:
      • Putting spaces without operators inside #{ }
      • Forgetting to close #{ } properly
      • Assuming interpolation works with invalid expressions
      5. You want to create a greeting message that includes a user's name and the current year calculated dynamically. Which code correctly uses string interpolation to achieve this?
      name = "Sam"
      current_year = Time.now.year
      # Choose the correct greeting message
      hard
      A. "Hello, #{name}! Welcome to current_year."
      B. "Hello, #{name}! Welcome to #{current_year}."
      C. 'Hello, #{name}! Welcome to #{current_year}.'
      D. "Hello, name! Welcome to #{Time.now.year}."

      Solution

      1. Step 1: Check interpolation of variables

        "Hello, #{name}! Welcome to #{current_year}." correctly uses double quotes and interpolates both name and current_year variables.
      2. Step 2: Verify dynamic year calculation

        "Hello, name! Welcome to #{Time.now.year}." uses Time.now.year inside interpolation but misses interpolating name properly (it's plain text). "Hello, #{name}! Welcome to current_year." treats current_year as plain text. 'Hello, #{name}! Welcome to #{current_year}.' uses single quotes, so no interpolation.
      3. Final Answer:

        "Hello, #{name}! Welcome to #{current_year}." -> Option B
      4. Quick Check:

        Double quotes + #{variable} for dynamic values [OK]
      Hint: Use double quotes and #{variable} for dynamic strings [OK]
      Common Mistakes:
      • Using single quotes which disable interpolation
      • Not interpolating variables properly
      • Confusing variable names with plain text
      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