[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

repeat a method inside a string

Zoe Phoenix

7/19/2008 7:44:00 PM

I have a method that will generate a random HTML link, but I need to
have it repeat inside a string interpolation. I need to generate a
number of random links at the bottom of HTML pages that are being
generated. I know how to insert the method into the string so it
inserts a random link there, but I don't know how to get it to insert 30
different links instead of just one.

Inside the HTML, it looks like this to just insert one link:

########
...
<div id="site"><div id="footer">
<p><a href="sitemap.html">Sitemap</a></p>
<br>
#{insertlink}
<br>
</div></div><!-- footer ends -->
...
########

What I don't know how to do is to get it to do the insertlink method 30
times in that spot instead of just once. Help, please..?
--
Posted via http://www.ruby-....

3 Answers

Michael Guterl

7/19/2008 8:00:00 PM

0

On Sat, Jul 19, 2008 at 3:44 PM, Zoe Phoenix
<dark_sgtphoenix@hotmail.com> wrote:
> I have a method that will generate a random HTML link, but I need to
> have it repeat inside a string interpolation. I need to generate a
> number of random links at the bottom of HTML pages that are being
> generated. I know how to insert the method into the string so it
> inserts a random link there, but I don't know how to get it to insert 30
> different links instead of just one.
>
> Inside the HTML, it looks like this to just insert one link:
>
> ########
> ...
> <div id="site"><div id="footer">
> <p><a href="sitemap.html">Sitemap</a></p>
> <br>
> #{insertlink}
> <br>
> </div></div><!-- footer ends -->
> ...
> ########
>
> What I don't know how to do is to get it to do the insertlink method 30
> times in that spot instead of just once. Help, please..?

Why not just write a method that calls the other method 30 times and
collects the results in an array, then joins them to a string?

def foo
r = []
30.times do
r << insertlink
end
r.join(' ')
end

HTH,
Michael Guterl

Zoe Phoenix

7/19/2008 9:29:00 PM

0

Michael Guterl wrote:
> On Sat, Jul 19, 2008 at 3:44 PM, Zoe Phoenix
> <dark_sgtphoenix@hotmail.com> wrote:
>> ...
>> times in that spot instead of just once. Help, please..?
> Why not just write a method that calls the other method 30 times and
> collects the results in an array, then joins them to a string?
>
> def foo
> r = []
> 30.times do
> r << insertlink
> end
> r.join(' ')
> end
>
> HTH,
> Michael Guterl

That would probably make the most sense... but, since I'm still a fetus
programmer (I'm not even a baby yet >.>; ), I didn't think of doing
that. :-p Many thanks!
--
Posted via http://www.ruby-....

Tachikoma

7/20/2008 1:58:00 AM

0

On Jul 20, 3:44 am, Zoe Phoenix <dark_sgtphoe...@hotmail.com> wrote:
> I have a method that will generate a random HTML link, but I need to
> have it repeat inside a string interpolation.  I need to generate a
> number of random links at the bottom of HTML pages that are being
> generated.  I know how to insert the method into the string so it
> inserts a random link there, but I don't know how to get it to insert 30
> different links instead of just one.
>
> Inside the HTML, it looks like this to just insert one link:
>
> ########
> ..
> <div id="site"><div id="footer">
>   <p><a href="sitemap.html">Sitemap</a></p>
>   <br>
>   #{insertlink}
>   <br>
>   </div></div><!-- footer ends -->
> ..
> ########
>
> What I don't know how to do is to get it to do the insertlink method 30
> times in that spot instead of just once. Help, please..?
> --
> Posted viahttp://www.ruby-....

you may use
string * 30
to repeat the string 30 times