可能重複:
What is the * operator doing to this string in Ruby*(星號)在Ruby中表示什麼?
有可能是對這個問題的答案在其他地方,但我只是不知道如何找到它......
如果我是正確的,*
表示如果在函數定義中使用多個參數:
def hero(name, *super_powers)
但什麼是*
做這樣的代碼:
Hash[*[[:first_name, 'Shane'], [:last_name, 'Harvie']].flatten] # => {:first_name=>"Shane", :last_name=>"Harvie"}
可能的重複:http://stackoverflow.com/questions/918449/what-is-the-operator-doing-to-this-string-in-ruby – 2010-11-12 23:56:02