#{ x.times... }
в двойных кавычках было развернуто в первую очередь, ну а там внутри -- print
, как было его не вызвать. Отсюда восклицательные знаки перед Hello.#{ ... }
возвращает последнее вычисленное значение (результат вызова x.times { ... }
, в данном случае), поэтому после вывода восклицательных знаков и строчки Hello интерпретатор подставил вместо выражения результат его вычисления.