5

通过 ruby​​koans.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
4

1 回答 1

8

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

于 2012-12-23T21:53:10.643 回答