seems to me as though I’m redundant on this forum…
well anyway, doing ‘@@@@’.sub(’@’,’#’)
returns
‘/#@@@’
how can I make it so that it doesn’t through in the / ?
using 1.9 btw
gsub doesn’t do that, but I specifically ned sub to do that.
ty
seems to me as though I’m redundant on this forum…
well anyway, doing ‘@@@@’.sub(’@’,’#’)
returns
‘/#@@@’
how can I make it so that it doesn’t through in the / ?
using 1.9 btw
gsub doesn’t do that, but I specifically ned sub to do that.
ty
Alle domenica 30 dicembre 2007, Pavel P. ha scritto:
using 1.9 btw
gsub doesn’t do that, but I specifically ned sub to do that.
ty
First of all, I think what you see is not a ‘/’ but a ‘’.
I don’t think the \ is part of the returned string. I assume you’re
trying
this in irb. irb displays the return value of every expression using its
inspect method. String#inspect escapes some characters, such as double
quotes
and the # character, when it would be interpreted as the beginning of
string
interpolation. Since “#@” is the beginning of a string interpolation, it
gets
escaped. If you do a puts ‘@@@@’.sub(’@’,’#’), or examine the first
element
of the returned string, you’ll see that the returned string is correct.
Using gsub instead of sub doesn’t display the \ because it replaces all
the @
with #, and since the sequence ‘##’ isn’t a special sequence, it’s not
escaped by String#inspect.
I hope this helps
Stefano
On Dec 30, 2007 3:11 AM, Pavel P. [email protected] wrote:
seems to me as though I’m redundant on this forum…
well anyway, doing ‘@@@@’.sub(‘@’,‘#’)
returns
‘/#@@@’
It should return “#@@@” (backslash before a character inside a double
quoted string is an escaped character). You are looking at the
general string representation of ‘#@@@’. Do this to see what I mean
…
irb> ‘@@@@’.sub(‘@’, ‘#’).each_byte { |b| puts b }
When you use 1.8 you see 4 integers, the first one the byte code for
the # sign, the others for the @ sign. I think 1.9 is the same way
with #each_byte, but haven’t tried it out.
how can I make it so that it doesn’t through in the / ?
irb> puts ‘@@@@’.sub(‘@’, ‘#’)
using 1.9 btw
gsub doesn’t do that, but I specifically ned sub to do that.
‘####’ is not special and doesn’t need to be escaped.
The character sequence ‘#@’ is because it is a short hand way of
“exploding” a class variable inside a String.
ty
Posted via http://www.ruby-forum.com/.
hth,
Todd
On Dec 30, 2007 4:10 AM, Todd B. [email protected] wrote:
quoted string is an escaped character). You are looking at the
how can I make it so that it doesn’t through in the / ?
The character sequence ‘#@’ is because it is a short hand way of
“exploding” a class variable inside a String.
That would be “class instance variable”. My bad.
Todd
Todd B. wrote:
The character sequence ‘#@’ is because it is a short hand way of
“exploding” a class variable inside a String.That would be “class instance variable”. My bad.
Well actually it would just be instance variable.
On Dec 30, 2007 5:20 AM, Sebastian H. [email protected]
wrote:
Todd B. wrote:
The character sequence ‘#@’ is because it is a short hand way of
“exploding” a class variable inside a String.That would be “class instance variable”. My bad.
Well actually it would just be instance variable.
Newbies should know that that would be the correct phrase, I admit. I
don’t see, however the difference in terminology per se. I said a
“class instance variable”, which would be a variable in the context of
an instance of a class (class not capitalized).
Jabber: [email protected]
ICQ: 205544826
Todd
Todd B. wrote:
I
don’t see, however the difference in terminology per se. I said a
“class instance variable”, which would be a variable in the context of
an instance of a class (class not capitalized).
I think it gets really complicated once you start to use “class instance
variable” and “Class instance variable”, both meaning different things.
Especially at the beginning of a sentence where both would look the
same.
Given that “class instance variable” the way you use it is the same as
just
instance variable, I really think it’s a lot less confusing to just say
the
latter.
First of all, I think what you see is not a ‘/’ but a ‘’.
I don’t think the \ is part of the returned string. I assume you’re
trying
this in irb. irb displays the return value of every expression using its
inspect method. String#inspect escapes some characters, such as double
quotes
and the # character, when it would be interpreted as the beginning of
string
interpolation. Since “#@” is the beginning of a string interpolation, it
gets
escaped. If you do a puts ‘@@@@’.sub(’@’,’#’), or examine the first
element
of the returned string, you’ll see that the returned string is correct.
d by String#inspect.
Stefano
thanks for all the replies! but this was true, i tried it with puts and
it came out normal. TY!!!
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