这在Ruby中是什么,为什么它存在?

pan*_*rey 2 ruby

它是一个阵列吗?它的结构和用途是什么?为什么它存在于Ruby中?

>> Z =  x=1 , y =2 , a =3 , b=4


=> [1,2,3,4]
Run Code Online (Sandbox Code Playgroud)

为什么这个数组支持初始化?它可以用于任何潜在用途吗?为什么Ruby的设计者支持这样一个深奥的数组声明?

the*_*Man 5

这是可以做到但可能不应该做的事情之一,因为它隐藏了它的意图背后的一层薄薄的聪明面纱,使其更难维护.

基本上,它Z在初始化其他变量时分配一个数组.

Z =  x=1 , y =2 , a =3 , b=4 #=> [1, 2, 3, 4]
Z #=> [1, 2, 3, 4]
x #=> 1
Run Code Online (Sandbox Code Playgroud)

就个人而言,在代码审查中,我要求程序员以下列方式之一编写:

Z = [1, 2, 3, 4]

x, y, a, b = *Z
Run Code Online (Sandbox Code Playgroud)

要么

(x, y, a, b) = Z
Run Code Online (Sandbox Code Playgroud)