我认为答案很简单,“不,你不能那样做”,但是我的想法对Ruby来说总是错误的。并行作业和范围
我试图做到这一点在Ruby中
city, state, zip = (0..2)
这导致城市是一个范围其余均为零,这不是我想要的。有没有办法做到这一点?
我认为答案很简单,“不,你不能那样做”,但是我的想法对Ruby来说总是错误的。并行作业和范围
我试图做到这一点在Ruby中
city, state, zip = (0..2)
这导致城市是一个范围其余均为零,这不是我想要的。有没有办法做到这一点?
随着图示操作
city, state, zip = *(0..2)
随着转换成数组
city, state, zip = (0..2).to_a
是
city, state, zip = *(0..2)
噢,我从来没有想过用图示运营商分配的... – guns 2009-07-18 11:06:26
+1,谢谢Dario ... – 2009-07-18 17:57:40
完美,谢谢! – 2009-07-18 11:55:28
那么splat和to_a有什么区别?至少在这种情况下,结果总是一个数组。 – 2009-07-18 12:18:01
在这种情况下没有区别。实际上,splat操作符实质上将Enumerable替换为其组成元素。所以如果你写'[* [1,2],* [3],4]',结果是'[1,2,3,4]'。 – Chuck 2009-07-18 19:11:47