Hello list, I know the ruby community is filled with algorithmic folks. I have a fairly simple algorithm that I have solved, but I know it can be done cleaner than I have. Given a short string of words separated by spaces, I wish to print out every contiguous subset of words from that string. Given this string: "first second third fourth fifth" Output this list of substrings: first second third fourth first second third second third fourth first second second third third fourth first second third fourth I feel like this should all be possible within a REGEX, but I couldn't manage that. So I turned it into an array plowed through it in a very manual manner. You can run this in irb: phrase = "first second third fourth".split(' ') (phrase.size.downto(1)).each do |subphrase_size| (0..phrase.size-subphrase_size).each do |cursor| [cursor..cursor+subphrase_size-1].each do |subrange| puts subrange.inject('') {|subphrase,letter| subphrase + phrase[letter] + ' '} end end end Isn't there a cleaner way? Joe