看几个程序
- 1,普通变量赋值
arr=[1,2,3,4,5]
a,b=arr
puts "a=#{a},b=#{b}"
输出
a=1,b=2
- 2,数组赋值,使用了*
arr=[1,2,3,4,5]
a,*b=arr
puts "a=#{a},b=#{b}"
输出
a=1,b=[2, 3, 4, 5]
可以看到b是一个赋值完a后的剩余的数组
- 3,分别赋值
arr=[1,2,3,4,5]
a,b=10,arr
puts "a=#{a},b=#{b}"
输出
a=10,b=[1, 2, 3, 4, 5]
- 4,数组赋值(二维)
arr=[1,2,3,4,5]
a,*b=10,arr
puts "a=#{a},b=#{b}"
输出
a=10,b=[[1, 2, 3, 4, 5]]
可以看到b是一个二维数组,其第一个元素是arr
- 5,数组赋值(新数组)
arr=[1,2,3,4,5]
a,*b=10,*arr
arr.push 6
puts "a=#{a},b=#{b},arr=#{arr}"
输出
a=10,b=[1, 2, 3, 4, 5],arr=[1, 2, 3, 4, 5, 6]
可以看出b是一个新的数组