Цитата Сообщение от Arnon Посмотреть сообщение
Добавил две основные главы и одну с сылками. Может однажды я закончу перевод
Он конечно не идеальный, потому что тема довольно таки непростая, если кто-то грамотнее найдёт ошибки — пишите.
Проблем с переводом нет, есть проблемы с оригиналом. К сожалению, помимо здравых мыслей автор местами дает совершенно вздорные советы, а иногда просто фантазирует. Пример (цитата по оригиналу):

One quoted strings are processed faster by the engine.
Это фантазия. Пишем тест и получаем результат:

Код:
Double: 3.888000011444092
Single: 3.9579999446868896
Double: 3.822999954223633
Single: 3.8399999141693115
Double: 3.8470001220703125
Single: 3.825000047683716
Double: 3.822999954223633
Single: 3.7880001068115234
Double: 3.7909998893737793
Single: 3.8519999980926514
Double: 3.815999984741211
Single: 3.8470001220703125
Double: 3.822999954223633
Single: 3.8259999752044678
Double: 3.877000093460083
Single: 3.944000005722046
Double: 3.8610000610351562
Single: 3.883999824523926
Double: 3.811000108718872
Single: 3.857999801635742
Отчетливо видно, что в пределах точности измерений никаких отличий скорости обработки "одинарных" и "двойных" строк нет. Читаем там же далее:

Don’t use variable embedding if you have just one value. You can just use value.to_s which will convert value into a string.
Проверка на тесте дает неожиданный результат:

Код:
Inline: 10.55400013923645
Concat: 10.940000057220459
Inline: 10.526000022888184
Concat: 10.924999952316284
Inline: 10.430999994277954
Concat: 11.036999940872192
Inline: 10.292999982833862
Concat: 10.919000148773193
Inline: 10.253000020980835
Concat: 10.759000062942505
Inline: 10.325000047683716
Concat: 10.876999855041504
Inline: 10.312999963760376
Concat: 10.963000059127808
Inline: 10.270999908447266
Concat: 10.88699984550476
Inline: 10.283999919891357
Concat: 10.791000127792358
Inline: 10.242000102996826
Concat: 10.792999982833862
Т.е. вариант через #{} работает быстрее, чем ручной вызов to_s и конкатенация.

Объясняется это тем, что ruby, вопреки заблуждениям автора, не интерпретатор. Перед исполнением кода выполняется весьма изощренная оптимизация. И конструкции вида "Foo#{i}" поддаются оптимизации лучше, чем "Foo"+i.to_s.

Так что читать следует с осторожностью, верить не всему.