11

可能重复:
了解范围和数组中的 ruby​​ splat

谁能告诉我 * 在下面的代码中做了什么?

line = "name=yabbi;language=ruby;"
Hash[*line.split(/=|;/)]

谢谢。

4

2 回答 2

12

*是 splat 运算符。它用于将数组拆分为参数列表。

line.split(/=|;/)返回一个数组。要创建哈希,数组的每个元素都必须作为单独的参数传递。

于 2013-01-19T06:49:25.497 回答
1

这是一个splat 运算符阅读它。当您想要拆分数组以用作函数的参数时,您经常会看到它被使用。

于 2013-01-19T06:47:19.547 回答