在完成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
first_name, * = ["John", "Smith"]
,这可能会使意图更清晰。那是(我认为)规范的方式,但如果需要,您可以省略splat。 - marcus erronius