通过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
Run Code Online (Sandbox Code Playgroud)
在第二个示例中,变量后面有一个逗号.并行赋值通常列出几个以逗号分隔的变量,但只允许使用一个变量(但这仍然需要逗号才能将其与常规赋值分开).