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