Нет вопросов? Так я первый буду ;)
RubyMine периодически предлагает двойные кавычки заменять на апострофы по крайней мере в строке:
puts 'Привет мир'
Можете пояснить, когда какие лучше использовать?
И двойные и одинарные кавычки создают строку (объект класса String
).
Но одинарные кавычки создают его, игнорируя всё, что находится внутри, а двойные обрабатывают, например, спецсимволы и вычисляют значения в конструкциях #{}
.
name = 'Алексей'
puts 'Привет!\nМеня зовут #{name}!'
→ Привет!\nМеня зовут #{name}!
puts "Привет!\nМеня зовут #{name}!"
→ Привет!
→ Меня зовут Алексей!
Двойные кавычки выполняют вычисления внутри себя, поэтому, естественно, работают чуть медленее. Отсюда простое правило, если в строке нет ничего сложного (то есть, просто символы), используйте одинарные кавычки, а если в строке есть какие-то преобразования или спецсимволы, используйте двойные.
Именно так, кстати, и делает RubyMine при автозамене.