Need help understand an expression

Hi,

Can someone explain the role of the "?" before the "x"

s = "abcdefg"
s[0] = ?x # s == "xbcdef"

I know this will accomplish the same thing.

s[0] = 'x'

Thanks,
Buzz

···

--
Posted via http://www.ruby-forum.com/.

sigma ~ % irb
s = "abcdefg"
# "abcdefg"
s[0] = ?x
# 120
?x
# 120
s
# "xbcdefg"
s[0] = 'x'
# "x"
s
# "xbcdefg"
'x'[0]
# 120
s[0]
# 120
s[0,1]
# 'x'
'x'[0,1]
# 'x'

^ manveru

···

On Sun, Nov 23, 2008 at 12:35 AM, Buzz Hill <buzzhill@verizon.net> wrote:

Hi,

Can someone explain the role of the "?" before the "x"

s = "abcdefg"
s[0] = ?x # s == "xbcdef"

I know this will accomplish the same thing.

s[0] = 'x'

irb(main):004:0> ?a
=> 97

It's an integer value keyword.

Programming Ruby: The Pragmatic Programmer's Guide has more
information under "Integer and Floating Point Numbers"

irb(main):005:0> x = " "
=> " "
irb(main):006:0> x[0] = ?a
=> 97
irb(main):007:0> x
=> "a"

End result for the string you modify is the same because String#=
with a single integer index accepts either integers or strings.

irb(main):002:0> x[0] = 'abc'
=> "abc"
irb(main):003:0> x
=> "abc"

-Michael Libby

···

On Sat, Nov 22, 2008 at 9:35 AM, Buzz Hill <buzzhill@verizon.net> wrote:

Hi,

Can someone explain the role of the "?" before the "x"

s = "abcdefg"
s[0] = ?x # s == "xbcdef"

I know this will accomplish the same thing.

s[0] = 'x'

Michael Fellinger
Michael Libby

It's an integer value keyword.

End result for the string you modify is the same because String#=
with a single integer index accepts either integers or strings.

Thanks. I am new and not familiar with all the symbol meanings.

···

--
Posted via http://www.ruby-forum.com/\.