String Question... Real n00b here


#1

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?target=” +
Base64.encode64(dec.to_s()) + “&secure=1&search=1;”
puts myURL

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

where as I need it to be all on one line to work…


#2

Chris Mays wrote:

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.


#3

Joel VanderWerf wrote:

Try putting .chomp after the encode64() call:

exasperated sigh such a simple explanation.

Thanks