"Inconsistency" with display/existence of "\"

A

Aldric Giacomoni

Basically, two ... Apparently similar objects give me the following
differing output:
[3\] and [3]
I pasted most of it up on pastie so it became a bit more readable.

I am taking a text file and reading it like so:
File.open(filename, 'r') { |f| @sgf = f.read }
It then gets split into an array of single characters.

Here is the rest, though I'm afraid it may not make much sense.
http://pastie.org/760500

The gist of it is ... Why would a backslash "disappear" ? I mean, the
files are going through the same code and getting parsed the same way!
 
B

Brian Candler

Aldric said:
Basically, two ... Apparently similar objects give me the following
differing output:
[3\] and [3]
I pasted most of it up on pastie so it became a bit more readable.

I am taking a text file and reading it like so:
File.open(filename, 'r') { |f| @sgf = f.read }
It then gets split into an array of single characters.

Here is the rest, though I'm afraid it may not make much sense.
http://pastie.org/760500

The gist of it is ... Why would a backslash "disappear" ? I mean, the
files are going through the same code and getting parsed the same way!

You need to boil this down to a minimal test case which demonstrates the
problem. As you boil it down, you'll probably find the problem yourself.
If you don't, then you'll have a <10 line program that you can paste
here, that we can run, and we can explain any bits of it that you don't
understand.

Try using 'puts x.inspect' instead of 'pp x' - it may be clearer what's
going on.
 
A

Aldric Giacomoni

Brian said:
You need to boil this down to a minimal test case which demonstrates the
problem. As you boil it down, you'll probably find the problem yourself.
If you don't, then you'll have a <10 line program that you can paste
here, that we can run, and we can explain any bits of it that you don't
understand.

Try using 'puts x.inspect' instead of 'pp x' - it may be clearer what's
going on.

I was looking in the wrong place.
As it turns out, this happens:

["haha", "baba", "kate"].each do |x|
x.gsub! "a", "i"
end

actually changes the array - so my save code was modifying the data I
had opened.
 
B

Brian Candler

Aldric said:
I was looking in the wrong place.
As it turns out, this happens:

["haha", "baba", "kate"].each do |x|
x.gsub! "a", "i"
end

actually changes the array - so my save code was modifying the data I
had opened.

Glad it's sorted.

Technically: the above code does not change the array. But it does
modify the objects which the array contains.
 

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

Forum statistics

Threads
473,777
Messages
2,569,604
Members
45,234
Latest member
SkyeWeems

Latest Threads

Top