Avoid string concatenation

Metadata

ID: ruby-best-practices/string-interpolation

Language: Ruby

Severity: Notice

Category: Best Practices

Description

The rule “Avoid string concatenation” is an important coding practice in Ruby for ensuring efficient and clean code. String concatenation in Ruby using the ‘+’ operator creates a new string object, which can lead to excessive memory usage and slower performance when dealing with large strings or performing the operation multiple times.

Instead, Ruby provides alternatives that are more efficient. The string interpolation syntax #{} allows you to insert variables directly into strings without creating new string objects. This is not only more memory efficient, but also provides cleaner and more readable code.

Another alternative is the format method, which allows you to create a formatted string with placeholders for variables. This method is particularly useful when dealing with more complex strings, as it provides a clear and concise way to format your strings.

By following this rule, you can write more efficient and cleaner Ruby code, leading to better performance and readability.

Non-Compliant Code Examples

str1 = "Hello"
str2 = "world!"
result = str1 + " " + str2

Compliant Code Examples

str1 = "Hello"
str2 = "world!"
resultA = "#{str1} <#{str2}>"
resultB = format('%s <%s>', str1, str2)