变量赋值是如何进行的;x、 =1,2“;在Ruby工作?

变量赋值是如何进行的;x、 =1,2“;在Ruby工作?,ruby,syntax,variable-assignment,Ruby,Syntax,Variable Assignment,执行以下代码后变量a和b的值: a = 1, 2, 3 b, = 1, 2, 3 结果是 a = [1, 2, 3] b = 1 为什么?这是ruby的并行赋值。 a=1,2,3表示将数组[1,2,3]放入a。 b,=1,2,3表示将1放入b,将2放入?3比1?。如果你尝试 b,c,d = 1,2,3 你明白我的意思了吧逗号让ruby觉得你要做一个并行赋值,其中b和另一个变量将通过相同的表达式赋值,如下所示: b, c = 1, 2 结果是b==1和c==2 因此,ruby在这

执行以下代码后变量a和b的值:

a = 1, 2, 3 
b, = 1, 2, 3
结果是

 a =  [1, 2, 3]
 b =  1

为什么?

这是ruby的并行赋值。
a=1,2,3
表示将数组
[1,2,3]
放入
a
b,=1,2,3
表示将1放入
b
,将2放入?3比1?。如果你尝试

b,c,d = 1,2,3

你明白我的意思了吧

逗号让ruby觉得你要做一个并行赋值,其中b和另一个变量将通过相同的表达式赋值,如下所示:

b, c = 1, 2
结果是b==1和c==2


因此,ruby在这里将右侧的第一个值赋给b,并期望将右侧的下一个值赋给另一个变量,但没有找到任何值,因此它会丢弃其余的值。

在ruby中,您可以进行并行赋值。例如:a,b=1,2表示a=1,b=2 在这个例子中:a,b,=1,2,3。a==1和b==2,并且没有变量分配值3。 在本例中:a,b=1。a==1,b为零