From: Richard Zenn Date: 2008-09-05T00:24:05+09:00 Subject: Re: String Combine problem Wow!it helps a lot "b", "c", "d" is "one" character they combine in order array s = ["aaa", "b", "c", "d", "ee", "f"] the rule 3 result will be "bc" "cd" "bcd" Thanks for your help:) Lloyd Linklater wrote: > Richard Zenn wrote: > >> Here is an array s = ["aaa", "b", "c", "d", "ee", "f"] >> I want to combine them with some rules >> >> 1. >> s[i].size > s[i+1].size >> combine them >> 2. >> s[i+1].size > s[i].size >> combine them >> 3. >> s[i].size + s[i+1].size >> >> The upper result is >> >> {"aaab"} >> {"bc"} >> {"bcd"} >> {"cd"} >> {"dee"} >> {"eef"} > > In the first place, it seems that rules 1 and 2 combine to just say that > they should not be equal in size. > > In the second place, if I read the rules correctly, they say that the > result you want is not correct. > > Note: I am assuming that rule 3 is not a rule as much as it is an > example of how they should be combined. > > s = ["aaa", "b", "c", "d", "ee", "f"] > arr = Array.new > 0.upto(s.length - 2) { |i| > arr << s[i] + s[i+1] unless s[i].size == s[i+1].size > } > p arr > > => ["aaab", "dee", "eef"] > > "b", "c", "d" are all the same size and would be excluded by the rules. > Could you clarify? I must be missing something. -- Posted via http://www.ruby-forum.com/.