Также, используя Procs ...
Proc.new {|reverse_me| reverse_me.chars.inject([]){|r,c| r.unshift c}.join}.call("The house is blue")
=> "eulb si esuoh ehT"
Proc.new был бы здесь полезен, потому что вы могли бы затем вложить свой алгоритм реверсирования (и при этом держать все в одной строке). Это было бы удобно, если, например, вам нужно повернуть каждое слово в уже перевернутом предложении:
# Define your reversing algorithm
reverser = Proc.new{|rev_me| rev_me.chars.inject([]){r,c| r.unshift c}.join}
# Run it twice - first on the entire sentence, then on each word
reverser.call("The house is blue").split.map {|w| reverser.call(w)}.join(' ')
=> "blue is house The"