Forum: Ruby Marshalling problem

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
hcatlin (Guest)
on 2005-11-26 19:31
(Received via mailing list)
Ok, I've already posted this once, but that was 10 hours ago and it
still hasn't shown up in the group, so i'm reposting it. Apologizes if
its already shown up for anyone else...

-----------

Alright, so I've been scratching my head about this along with some
folks over at #ruby-lang.

This may be a known problem, but after spending a few minutes
searching, I can't find any reference... so I'll document it here.

If you take some object and marshal it, then try and concat that
string, it produces some funny results.

Here is the test case that I've discovered. I'm thinking this is
happening because Marshal sends back some weird characters that are
screwing up the string methods. But, I would still classify that as a
bug, because when an object returns a string, that should always be a
fairly safe string to handle or it should be returning something else.
That would be an invalid or misformed string if you can't even use the
regular expressions on it.

Any help would be greatly appreciated.

 #I'm running ruby 1.8.3 on ubuntu
 #email hcatlin at gmail.com with any help


       class MyObject
               def initialize
                       @name = "testvar"
                       @array = Array.new
               end
 end

       test = MyObject.new
       dumpresult = Marshal.dump(test)
       puts 'Result: ' << dumpresult # Expected: "Result: MYOBJECTDUMP"
       puts 'Result=' << Marshal.dump(test) #Expected
"Result=MYOBJECTDUMP"
       puts 'Result: ' + dumpresult # Expected: "Result: MYOBJECTDUMP"
       puts 'Result=' + Marshal.dump(test) #Expected
"Result=MYOBJECTDUMP"
       puts "U=" << Marshal.dump(test) # Expected "U=MYOBJECTDUMP"


       #My result is this code below.

#MyObject:
#         @array[:
#@name"
#testvar
#MyObject:
#         @array[:
#@name"
#testvar
#MyObject:
#         @array[:
#@name"
#testvar
#MyObject:
#         @array[:
#@name"
#testvar
#MyObject:
#         @array[:
#@name"
#testvar
dblack (Guest)
on 2005-11-26 19:47
(Received via mailing list)
Hi --

On Sun, 27 Nov 2005, Hampton wrote:

> Ok, I've already posted this once, but that was 10 hours ago and it
> still hasn't shown up in the group, so i'm reposting it. Apologizes if
> its already shown up for anyone else...

It has shown up, as have some responses.


David
This topic is locked and can not be replied to.