Problem with: Exception: cannot convert Class into String

B

basi

Hello:

puts aString <<< no error printing aString here
process(aString)
.....
....
def process(aString)
puts aString <<< error printing aString here
end


The error is: Exception: cannot convert Class into String

What would it cause for aString to become a Class?

Thanks!
basi
 
K

konsu

hello,

this code is not complete, so it is difficult to guess why aString inside
the method is Class.

konstantin
 
B

basi

Yes, it is incomplete. I was illustrating that the variable aString is
of type string just before calling the method, and right inside the
method, in the very first command, it is diagnosed as a Class.

-- I renamed the parameter aString in the method definition. That does
not work.
-- I moved the order of calling the method earlier/later in the call
sequence. No dice.
-- I retyped the line. Didn't work.

No that I expected these to make a difference.

I redefined aString inside the method, thus:

def process(aString)
aString = "ohmy"
puts aString
end

It works, but doesn't solve the problem.

I wonder what kind of statement that I might have made somewhere in
the program that would turn a string variable into a Class?

Thanks!
basi
 
N

nobuyoshi nakada

Hi,

At Thu, 22 Dec 2005 15:42:51 +0900,
basi wrote in [ruby-talk:172076]:
Yes, it is incomplete. I was illustrating that the variable aString is
of type string just before calling the method, and right inside the
method, in the very first command, it is diagnosed as a Class.

Nobody can answer without concrete code.
 
B

basi

Hi,
I found the problem. I should convert the value to a string:

Wrong (for my purpose)
aString = workStrings[0]

I got it to work with:
aString = workStrings[0].to_s

Cheers,
basi
 
C

Chintan Trivedi

------=_Part_1578_13340101.1135243916721
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

even workStrings[0,1] will work too.
0 is the start position and 1 indicates how many chars to read from that
position

unlike C, in ruby string[0] returns the ascii value of the char at positon =
0
and not char.

Hi,
I found the problem. I should convert the value to a string:

Wrong (for my purpose)
aString =3D workStrings[0]

I got it to work with:
aString =3D workStrings[0].to_s

Cheers,
basi

------=_Part_1578_13340101.1135243916721--
 

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

No members online now.

Forum statistics

Threads
474,276
Messages
2,571,384
Members
48,075
Latest member
AdeleHicks

Latest Threads

Top