Single line multiple assignment in ruby

Viewed 14746

Is it good to assign an empty array in one line ?

arun@arun:~$ irb
   irb(main):001:0> a = b = c = []
=> []
irb(main):002:0> b << "one"
=> ["one"]
irb(main):003:0> p a
["one"]
=> nil

Since i expect 'a' to be [] but it show the value of b means "one". Is this expect one ?

I also try with string and integer object.

irb(main):004:0> d = e = f = 0
=> 0
irb(main):005:0> f = 6
=> 6
irb(main):006:0> p d
0
=> nil
irb(main):007:0>

irb(main):007:0> q = w = e = r = "jak"
=> "jak"
irb(main):008:0> e = "kaj"
=> "kaj"
irb(main):009:0> p w
"jak"
=> nil
irb(main):010:0> p e
"kaj"
=> nil
irb(main):011:0>

It is working as i expected. Then why not array ?

2 Answers
Related