String#each_byteとString#scanの違い
String#each_byteだと、Fixnumとして各文字を切り出しますが、scanはStringとして切り出します。
s = "Rubyco!" s.each_byte do |x| puts "#{x} (#{x.class})" end s.scan(/./) do |c| puts "#{c} (#{c.class})" end
実行結果です。
82 (Fixnum) 117 (Fixnum) 98 (Fixnum) 121 (Fixnum) 99 (Fixnum) 111 (Fixnum) 33 (Fixnum) R (String) u (String) b (String) y (String) c (String) o (String) ! (String)