并行赋值用于在一条语句中实现给多个变量(或常量)同时赋值。
并行赋值是按位置赋值。
#左侧数量等于右侧数量
a, b = 1, 2
p a, b # 1 2
#左侧数量小于右侧数量
#右侧所有的值会被打包成数组
a = 1, 2, 3
p a # [1, 2, 3]
#右侧多余的值会被忽略
a, b = 1, 2, 3
p a, b # 1 2
#右侧多余的值会被打包成数组
a, b, *c = 1, 2, 3, 4, 5
p a, b, c # 1 2 [3, 4, 5]
#左侧数量大于右侧数量
#左侧多余的变量会被赋予nil值
a, b, c = 1, 2
p a, b, c # 1 2 nil
当左侧含有空槽时,空槽也占用一个位置。
#左侧数量等于右侧数量
a, = 1, 2
p a # 1
#左侧数量小于右侧数量
a, = 1, 2, 3
p a # 1
#左侧数量大于右侧数量
a, = 1
p a # 1
原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/experience/rubyexp/36680.html