为什么不将数组赋值给数组会产生Ruby中的预期结果?

时间:2013-05-14 22:35:26

标签: ruby-on-rails ruby arrays variable-assignment irb

使用IRB,我测试了以下内容:

C:\Pickaxe>irb
irb(main):001:0> list_of_strings = %w{ a list of strings in an array }
=> ["a", "list", "of", "strings", "in", "an", "array"]
irb(main):002:0> a, b, c = list_of_strings
=> ["a", "list", "of", "strings", "in", "an", "array"]
irb(main):003:0> a
=> "a"
irb(main):004:0> b
=> "list"
irb(main):005:0> c
=> "of"
irb(main):006:0>

我在设置a, b, c = d时开发的其他语言将abc的值设置为完全等于d。在这里,它们被设置为数组中的连续元素。

我不明白这是如何或为何有效。有人可以解释这个问题吗?

1 个答案:

答案 0 :(得分:1)

这就是Ruby中数组赋值的工作原理。通过将数组的每个索引项分配给赋值左侧的变量=

,它试图变得聪明一点。