On Thu, 9 Nov 2000, Dave Thomas wrote:

> David Alan Black <dblack / candle.superlink.net> writes:
>
>
> String mixes in Enumerable, so each_with_index is available.
>
>      def common4(w1, w2)
>        c = 0
>        w1.each_with_index { |ch, i| c += 1 if w2[i] == ch }
>        c
>      end
>
> On my box, this is over twice as fast as the others.
>
>                 user     system      total        real
>             0.570000   0.000000   0.570000 (  0.573853)
>             0.550000   0.000000   0.550000 (  0.505016)
>             0.540000   0.000000   0.540000 (  0.503355)
>             0.200000   0.000000   0.200000 (  0.198964)

But doesn't that just split (inclusively) on $/, rather than
interating through the characters?  If only $/ could be a regular
expression.... but then it would perhaps only do as well as:

    w1.split(//).each_with_index { ... }

which I tried and found was very slow.  


David                                                                                                                

-- 
David Alan Black
home: dblack / candle.superlink.net
work: blackdav / shu.edu
Web:  http://pirate.shu.edu/~blackdav