2017-08-16 6 views
1

私は今日このことを賞賛しましたが、それはどういう意味かわかりません。私はそれをGoogleにしようとしたが、私は運がなかった。誰かが私にこれを説明することはできますか?Rubyスタープレフィックスとはループ変数の意味ですか?

combinations.each do |combination| 
    messages = EventNotification.where('user_id = ? AND message_template = ?', *combination) 
    ... 
end 

答えて

3

それはスプラットオペレータと呼ばれています、そして、それは、単一のメソッドの引数に配列を解凍します。この場合、関数はおそらくフォーマット文字列の後にさらに2つの引数を想定しているため、それはと同等です:他の言語で

messages = EventNotification.where('user_id = ? AND message_template = ?', 
            combination[0], combination[1]) 

、この機能は、多くの場合、「可変引数」と呼ばれています。

関連する問題