2009-04-02 5 views

答えて

13

「スプラット」演算子です。これは、配列や範囲を分解し、代入中に値を収集するために使用できます。

ここ割り当ての値が収集される。

a = [1,2, *[3,4]] 

=> a = [1,2,3,4] 

a, *b = 1,2,3,4 

=> a = 1 
    b = [2,3,4] 

この例では、内側アレイ([3,4] 1)の値を含む配列に分解し、回収されます引数を配列に集める関数を定義することができます。

def foo(*args) 
    p args 
end 

foo(1,2,"three",4) 

=> [1,2,"three",4] 
+1

なぜこれが下降しましたか?私の答えは、どのビットがOPを混乱させているのか分からないという理由で、いずれの側面でも詳細には載っていませんでしたが、これはスプラットオペレータには素晴らしいことです。 –

8

  • require ppがpretty-印刷機能
  • pは、各引数
  • *は「に引数を広げる意味プリティプリントし、可変引数とかなり印刷法でインポート代わりに、単一の引数としてそれを治療するための」可変引数
  • 1..10ルビー
  • range sequence syntaxです

それはそれを適切に説明していますか?そうでない場合は、どのビットが混乱しているかを詳しく教えてください。

+0

+1 50Kのマークが織りなすように答えます。 –

関連する問題