2014-02-22 43 views

回答

2

"page/action".split("/")在Ruby中创建数组

然后controller_name, action = "page/action".split("/")它导致并行分配,由splatting数组,由String#split方法创建。

下面是所有处理的中间步骤/对你采取红宝石本身:

controller_name, action = "page/action".split("/") 
      ↓ 
controller_name, action = ['page','action'] # <- intermediate 
      ↓ 
controller_name, action = *['page','action'] # <- intermediate 
      ↓ 
controller_name, action = 'page','action' # final assignment happened now. 

阅读Parallel Assignment

可以崩溃使用Ruby的平行分配扩大阵列运营商。如果最后一个左值前面有一个星号,则所有剩余的右值将被收集并作为数组分配给该左值。类似的,如果最后一个右值是一个数组,你可以在它前加一个星号,它可以有效地将它扩展为它的组成值。 (如果右值只有右值---数组将自动扩展,这不是必需的。)

+0

了解,谢谢你的解释。 –

相关问题