数组前的Ruby*运算符
可能重复:数组前的Ruby*运算符,ruby,hash,Ruby,Hash,可能重复: 谁能告诉我*在下面的代码中做了什么 line = "name=yabbi;language=ruby;" Hash[*line.split(/=|;/)] 谢谢。这是一本关于它的书。通常,当您希望拆分数组以用作函数的参数时,会使用它。*是splat运算符。它用于将数组拆分为参数列表 line.split(/=|;/)返回一个数组。要创建散列,数组的每个元素都必须作为单个参数传递 谢谢!我想说清楚,它真正做的就是把数组变成一个参数列表,这样散列就可以接受它(在这种情况下,它似乎有很
谁能告诉我*在下面的代码中做了什么
line = "name=yabbi;language=ruby;"
Hash[*line.split(/=|;/)]
谢谢。这是一本关于它的书。通常,当您希望拆分数组以用作函数的参数时,会使用它。
*
是splat运算符。它用于将数组拆分为参数列表
line.split(/=|;/)
返回一个数组。要创建散列,数组的每个元素都必须作为单个参数传递 谢谢!我想说清楚,它真正做的就是把数组变成一个参数列表,这样散列就可以接受它(在这种情况下,它似乎有很多用途)?是的Hash[]
不将数组作为参数,因此我们必须将元素“分解”为单个参数。