如何将局部变量num_1
分配为[1, 2]
?那不是应该是1
吗?
2.1.5 :121 > num_1 = 1, num_2 = 2
=> [1, 2]
2.1.5 :122 >
2.1.5 :123 >
2.1.5 :124 > num_1
=> [1, 2]
2.1.5 :125 >
2.1.5 :126 >
2.1.5 :127 > num_2
=> 2
2.1.5 :128 >
答案 0 :(得分:3)
它首先将2
分配给num_2
,然后返回一个值并将其放入分配给num_1
的数组中
[11] pry(main)> num_1 = 1, num_2 = 2
=> [1, 2]
[12] pry(main)> num_1 = 1, (num_2 = 2)
=> [1, 2]
[13] pry(main)> num_1 = [1, (num_2 = 2)]
=> [1, 2]
如果要在一行中分配两个变量,请使用分号:
[14] pry(main)> num_1 = 1; num_2 = 2
=> 2
[15] pry(main)> num_1
=> 1
[16] pry(main)> num_2
=> 2
答案 1 :(得分:3)
虽然做这样的单行并行分配是有效的Ruby代码:
a, b, c, d = 'foo', 'bar', 'baz', 'foobar'
它被认为是“不良风格”。请参见《 Ruby样式指南》中的Parallel Assignment。