On Jun 23, 2010, at 7:01 PM, Roger Pack wrote:

> Is there the possibility this would fail in 1.9?
>
> big = eval(File.read("out_inspect.small"))
> File.open("out.marshal", "w") do |f|
>
>  f.write(Marshal.dump(big))
>
> end
> Marshal.load(File.open('out.marshal', 'r'))
>
>
> When I do this with large structures (on windows) I get messages like:
>
> bad.rb:7:in `load': dump format error for symbol(0x6c) (ArgumentError)
>
>
> irb(main):001:0> Encoding.default_external
> => #<Encoding:IBM437>
> irb(main):002:0> Encoding.default_internal
> => nil
>
> But I had assumed since I was reading and writing in the same mode it
> would work all right. Was I wrong?
> -r

You almost certainly want the 'rb' and 'wb' modes on Windows to read  
and write in binary, rather than text, mode.

-Rob

Rob Biedenharn
http://agileconsultingllc.com
	Rob / AgileConsultingLLC.com
http://gaslightsoftware.com
	rab / GaslightSoftware.com