Ruby 1.8.6 не имеет String#bytes
. Это дополнение 1.9, которое было перенесено на 1.8.7.
Вы можете примерно реализовать это самостоятельно так:
class String
require 'enumerator'
def bytes(&block)
return to_enum(:each_byte) unless block_given?
each_byte &block
end
end unless ''.respond_to?(:bytes)
[Примечание: я не проверял, действительно ли это соответствует контракту String#bytes
100%, но он достаточно близок для моего использования.]