Iterate through Array?

Z

Zephyr Pellerin

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
 
Z

Zephyr Pellerin

Sebastian said:
("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.
 
S

Sebastian Hungerecker

Zephyr said:
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
 
L

Lloyd Linklater

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")
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,770
Messages
2,569,583
Members
45,073
Latest member
DarinCeden

Latest Threads

Top