-1

それぞれが引数の任意のリストを取るネストされた関数のセットがあります。

def foo *args
  bar args
end

def bar *args
  baz args
end

def baz *args
end

次のような一連の引数を指定して foo を呼び出すと:a => :foo, :b => :bar、splat の後に 1 つの要素配列が返されます。

[{:a => :foo, :b => :bar}]

そして、それをネストされた関数に渡し、再びスプラットを介して、次のようになります。

[[{:a => :foo, :b => :bar}]]

ネストされた関数に args[0] を渡すのは適切ですか、それとも代わりに使用する必要があるある種のリバース スプラットがありますか?

4

1 に答える 1

1

分割された引数を別の関数に中継したい場合は、それらを再度分割するだけです (演算子は、メソッド呼び出しで使用された場合 (メソッド定義に対して) 反対の動作をします)。

def foo(*args)
  bar *args
end
于 2013-10-04T16:33:14.957 に答える