Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
数组前的Ruby*运算符_Ruby_Hash - Fatal编程技术网

数组前的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[]
不将数组作为参数,因此我们必须将元素“分解”为单个参数。