[lnkForumImage]
TotalShareware - Download Free Software

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


 

Forums >

comp.lang.ruby

String Question... Real n00b here

Chris Mays

4/7/2009 6:57:00 AM

I just picked up Ruby today after a friend mentioned Watir to me...

So in my meager hours with the language, I have found something that has
me completely STUMPED.

I am trying to concat 3 strings together to form a URL. The URL happens
to have some base64 in the middle of it. So I am using a method to
encode the string I want in the URL and trying to concat the string back
together. However, it seems to be displaying on two lines rather than
one.

require "base64"
dec = 3251706
myURL = "http://warbook.workisboring.com/diplomacy/userPage?tar... +
Base64.encode64(dec.to_s()) + "\&secure=1&search=1;"
puts myURL


The output is this:
http://warbook.workisboring.com/diplomacy/userPage?target=Mz...
&secure=1&search=1;

where as I need it to be all on one line to work...
--
Posted via http://www.ruby-....

2 Answers

Joel VanderWerf

4/7/2009 7:05:00 AM

0

Chris Mays wrote:
> I just picked up Ruby today after a friend mentioned Watir to me...
>
> So in my meager hours with the language, I have found something that has
> me completely STUMPED.
>
> I am trying to concat 3 strings together to form a URL. The URL happens
> to have some base64 in the middle of it. So I am using a method to
> encode the string I want in the URL and trying to concat the string back
> together. However, it seems to be displaying on two lines rather than
> one.
>
> require "base64"
> dec = 3251706
> myURL = "http://warbook.workisboring.com/diplomacy/userPage?tar... +
> Base64.encode64(dec.to_s()) + "\&secure=1&search=1;"
> puts myURL
>
>
> The output is this:
> http://warbook.workisboring.com/diplomacy/userPage?target=Mz...
> &secure=1&search=1;
>
> where as I need it to be all on one line to work...

Try putting .chomp after the encode64() call:

irb(main):004:0> Base64.encode64("foo")
=> "Zm9v\n"
irb(main):005:0> Base64.encode64("foo").chomp
=> "Zm9v"

No idea why encode64 puts the extra newline there... maybe someone else
can explain.

--
vjoel : Joel VanderWerf : path berkeley edu : 510 665 3407

Chris Mays

4/7/2009 7:09:00 AM

0

Joel VanderWerf wrote:
> Try putting .chomp after the encode64() call:


*exasperated sigh* such a simple explanation.

Thanks
--
Posted via http://www.ruby-....