Hello, I have a mini-ruby quiz. Guess what this line of code writes to
the console, then try it for yourself:
puts “\”.gsub("\", “\\”)
Why is that so?
Martin
Hello, I have a mini-ruby quiz. Guess what this line of code writes to
the console, then try it for yourself:
puts “\”.gsub("\", “\\”)
Why is that so?
Martin
From: martinus [mailto:[email protected]]
puts “\”.gsub(“\”, “\\”)
#=> nil
faq. escaping the escape in sub/gsub. search the archives.
maybe you want something like,
puts “\”.gsub(“\”){“\\”}
\
#=> nil
ie, use block wc is a lot more handy.
kind regards -botp
Hello, I have a mini-ruby quiz. Guess what this line of code writes to
the console, then try it for yourself:puts “\”.gsub(“\”, “\\”)
Why is that so?
Well, it’s an faq. In short: The backslash is special in strings and
in the replacement text. So for every literal backslash you need four
backslashes, which is quite unreadable. If you don’t need \1 and Co you
better use the block form: gsub(“\”) { “\\” }.
mfg, simon … hth
On Thu, Apr 24, 2008 at 8:35 AM, Simon K. [email protected] wrote:
Well, it’s an faq. In short: The backslash is special in strings and
in the replacement text. So for every literal backslash you need four
backslashes, which is quite unreadable. If you don’t need \1 and Co you
better use the block form: gsub(“\”) { “\\” }.
Another thing which trips up newbies, and sometimes not so newbies, is
the difference between the contents of a sring, and the ‘inspect’
presentation of a string, particularly when the string contains
escapes:
irb(main):001:0> puts “\”
=> nil
irb(main):002:0> p “\”
“\”
=> nil
The point is that the literal string “\” only contains one character.
The puts method shows you the contents of the string, while p (which
is practically equivalent to puts string.inspect produces a literal
representation.
–
Rick DeNatale
My blog on Ruby
http://talklikeaduck.denhaven2.com/
martinus [email protected] wrote:
Hello, I have a mini-ruby quiz. Guess what this line of code writes to
the console, then try it for yourself:puts “\”.gsub(“\”, “\\”)
We were just up and down this road (and I gave a workaround):
http://groups.google.com/group/comp.lang.ruby/msg/d370b684485c8838
m.
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.
Sponsor our Newsletter | Privacy Policy | Terms of Service | Remote Ruby Jobs