ruby - 变量赋值 "x, = 1,2"在 Ruby 中如何工作?

标签 ruby syntax variable-assignment

执行以下代码后变量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/

相关文章:

ruby-on-rails - Rails 3 POST 重定向 GET - 空 GET 响应

bash - Bash 中的动态变量名称

python - 运行 Paster 时出现语法错误?

c++ - 如何使用相同的调用签名在张量中索引和分配元素?

ruby - 数组的数组 - 如何选择唯一元素?

ruby-on-rails - 如果照片为 :title is included in form,CarrierWave 和嵌套表格保存空图像对象

C++ 语法 : void CLASS functionName()?

java - 为什么java中不允许分配给 'this'?

variable-assignment - 如何在运行时改变 Simulink 中增益 block 的增益值

ruby - 三元运算符语法错误