|
|
|
#1 |
|
Messages: n/a
Hébergeur: |
I've been messing around with generating all possible combinations of a
set of letters, (Ala, a 6 letter set would start enumerating at "aaaaaa" then move on to "aaaaab" so on and so forth, all the way down to "zzzzz") by iterating through an array using slice() , Which is a pretty good implementation for small tasks, But suppose I wanted to generate larger sets, Is there a more efficient implementation than say a=0 b=0 c=0 d=0 e=0 f=0 z = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"] slice = z.slice(a) + z.slice(b) + z.slice(c) + z.slice(d) + z.slice(e) + z.slice(f) if... else.... [Incrementing] puts slice Thank you in advance |
|
|
|
#2 |
|
Messages: n/a
Hébergeur: |
Sebastian Hungerecker wrote:
> Zephyr Pellerin wrote: >> I've been messing around with generating all possible combinations of a >> set of letters, (Ala, a 6 letter set would start enumerating at "aaaaaa" >> then move on to "aaaaab" so on and so forth, all the way down to >> "zzzzz") > > ("aaaaaa".."zzzzzz").each do |string| > puts string > end > > This will run for a good while, but it won't hog memory the way a solution > populating an array would. > > > HTH, > Sebastian Impressive, Signifigantly less RAM usage. |
|
|
|
#3 |
|
Messages: n/a
Hébergeur: |
Zephyr Pellerin wrote:
> I've been messing around with generating all possible combinations of a > set of letters, (Ala, a 6 letter set would start enumerating at "aaaaaa" > then move on to "aaaaab" so on and so forth, all the way down to > "zzzzz") ("aaaaaa".."zzzzzz").each do |string| puts string end This will run for a good while, but it won't hog memory the way a solution populating an array would. HTH, Sebastian -- NP: Lake of Tears - Sweetwater Jabber: sepp2k@jabber.org ICQ: 205544826 |
|
|
|
#4 |
|
Messages: n/a
Hébergeur: |
|
|
|
|
#5 |
|
Messages: n/a
Hébergeur: |
What about something as simple as
i = 0 "aaaaa".upto("zzzzz") {|s| i += 1; puts "#{i}. #{s}"} You could write to a file if you wish. Note that "aaaaa".upto("zzzzz") is NOT the same as "a".upto("zzzzz") -- Posted via http://www.ruby-forum.com/. |
|
![]() |
| Outils de la discussion | |
|
|