Спасибо, SCoon, за то что поднял тему на главную.
И огромное спасибо Arnon'у за написание ее.
По поводу:
" И конструкции вида "Foo#{i}" поддаются оптимизации лучше, чем "Foo"+i.to_s."
На самом деле 1 операция работает быстрее чем 3.
Сейчас объясню поподробнее: строка Foo#{i} создает объект-строку и помещает ее кучу(надеюсь в Ruby все такие есть понятие "куча").
А давайте проследим что делает строка "Foo"+i.to_s." первым делом она делает объект "Foo" и помещает его в кучу. Затем она делает объект строку - i.to_s(вторая операция) и помещает его в кучу...далее она делает сложение строк, результатом которой есть третий объект "Foo"+i.to_s."(вот она третья операция)....
Итого: мы сделали 3 операции и два лишних объекта в куче...
Социальные закладки