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