可能重复:
*运算符在Ruby中对此字符串执行的操作是什么
可能在其他地方有答案,但我只是不知道如何找到它...
如果我是对的,*如果在函数定义中使用,则表示多个参数:
def hero(name, *super_powers)
Run Code Online (Sandbox Code Playgroud)
但是*在代码中做了什么呢:
Hash[*[[:first_name, 'Shane'], [:last_name, 'Harvie']].flatten] # => {:first_name=>"Shane", :last_name=>"Harvie"}
Run Code Online (Sandbox Code Playgroud)