Ruby Koans about_array_assignment - 非平行与平行分配歧视

时间:2012-12-23 21:48:48

标签: ruby arrays

通过rubykoans.com工作我在about_array_assignment.rb中遇到了这两段代码

如何判断第一个是非平行分配,第二个是并行分配一个变量?对我来说,看起来代码几乎完全相同,除了命名差异。

  4   def test_non_parallel_assignment
  5     names = ["John", "Smith"]
  6     assert_equal ["John", "Smith"], names
  7   end

 45   def test_parallel_assignment_with_one_variable
 46     first_name, = ["John", "Smith"]
 47     assert_equal 'John', first_name
 48   end

1 个答案:

答案 0 :(得分:7)

在第二个示例中,变量后面有一个逗号。并行赋值通常会列出几个以逗号分隔的变量,但只允许使用一个变量(但这仍需要逗号才能将其与常规赋值分开)。