require 'pp'
p *1..10
これは1-10を出力します。なぜこれは簡潔ですか?それ以外に何ができますか?まあ"p * 1..10"が1から10までの数字を印刷することができるRubyの機能は何ですか?
require 'pp'
p *1..10
これは1-10を出力します。なぜこれは簡潔ですか?それ以外に何ができますか?まあ"p * 1..10"が1から10までの数字を印刷することができるRubyの機能は何ですか?
「スプラット」演算子です。これは、配列や範囲を分解し、代入中に値を収集するために使用できます。
ここ割り当ての値が収集される。
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]
:
require pp
がpretty-印刷機能p
は、各引数*
は「に引数を広げる意味プリティプリントし、可変引数とかなり印刷法でインポート代わりに、単一の引数としてそれを治療するための」可変引数それはそれを適切に説明していますか?そうでない場合は、どのビットが混乱しているかを詳しく教えてください。
+1 50Kのマークが織りなすように答えます。 –
なぜこれが下降しましたか?私の答えは、どのビットがOPを混乱させているのか分からないという理由で、いずれの側面でも詳細には載っていませんでしたが、これはスプラットオペレータには素晴らしいことです。 –