执行以下代码后变量a和b的值:
a = 1, 2, 3
b, = 1, 2, 3
结果是
a = [1, 2, 3]
b = 1
为什么?
最佳答案
逗号让 ruby 认为您将进行并行赋值,其中 b 和另一个变量将通过相同的表达式赋值,如下所示:
b, c = 1, 2
结果为 b == 1 和 c == 2。
所以这里 ruby 将右边的第一个值赋给 b,并期望将右边的下一个值赋给另一个变量,但是没有找到,所以它丢弃了剩余的值。
关于ruby - 变量赋值 "x, = 1,2"在 Ruby 中如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11641311/