How to generate a collection?

Given any four letter word, for example: "card"
Replace one to three letters with "~",
How can I get the result collection ( ["~ard", "c~rd", ..., "~~r~",
"~~~d"])?
I know ruby, but I am bad at any algorithms, help please.

···

--
Posted via http://www.ruby-forum.com/.

Nanyang Zhan wrote:

Given any four letter word, for example: "card"
Replace one to three letters with "~",
How can I get the result collection ( ["~ard", "c~rd", ..., "~~r~",
"~~~d"])?

One idea:

1.upto(14) {|i| printf("%04b\n", i)}

0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110

Regards,

Bill

Bill Kelly wrote:

Nanyang Zhan wrote:

Given any four letter word, for example: "card"
Replace one to three letters with "~",
How can I get the result collection ( ["~ard", "c~rd", ..., "~~r~",
"~~~d"])?

One idea:

> 1.upto(14) {|i| printf("%04b\n", i)}
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110

Regards,

Bill

Thanks.
Given I have the 0 and 1 array,
Replacing all the 0s with "~", and replacing all the 1s with the right
letters, I think it should work.

···

--
Posted via http://www.ruby-forum.com/\.