在一行中分配一个空数组是否合适?
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
Run Code Online (Sandbox Code Playgroud)
因为我希望'a'是[]但是它表示b的值意味着"一".这是期待的吗?
我也尝试使用字符串和整数对象.
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>
Run Code Online (Sandbox Code Playgroud)
它按照我的预期工作.然后为什么不阵?
Mic*_*ohl 21
你在做什么是assingning []到c,随后再为其分配到b,最终被分配到a.
>> a = b = c = []
>> a.object_id
=> 2152679240
>> b.object_id
=> 2152679240
>> c.object_id
=> 2152679240
Run Code Online (Sandbox Code Playgroud)
你想要的是什么
>> a,b,c = [], [], []
=> [[], [], []]
>> a.object_id
=> 2152762780
>> b.object_id
=> 2152762760
>> c.object_id
=> 2152762740
Run Code Online (Sandbox Code Playgroud)
编辑:这些例子很有效,因为你只需要简单地指定一个新值(Fixnum无论如何都不能改变它).尝试就地修改字符串:
>> q = w = e = r = "jak"
=> "jak"
>> e << 'i'
=> "jaki"
>> w
=> "jaki"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8305 次 |
| 最近记录: |