Обновление, вышеуказанный метод можно переписать следующим образом:
# using lower-case **proc** syntax, all on one line
foo = proc { |test| puts test }
3.upto(8) { foo.call("hello world") }
# using lambda, just switch the method name from proc to lambda
bar = lambda { |test| puts test }
3.upto(8) { bar.call("hello world") }
Они в основном очень похожие методы, с небольшими различиями.
И, наконец, есть, наверное, более элегантные способы сделать то, что я изложил, быть хорошим, чтобы услышать от кого-либо с лучшим способом. Надеюсь, это поможет.