1. ホーム
  2. ruby

[解決済み] Ruby 配列を関数の引数に変換する

2022-11-13 10:05:45

質問

配列があるとします。私は配列を関数に渡したい。しかし、関数は2つの引数を期待しています。配列を2つの引数にオンザフライで変換する方法はありますか? たとえば、次のようになります。

a = [0,1,2,3,4]
b = [2,3]
a.slice(b)

Rubyではエラーになります。と入力する必要があります。 a.slice(b[0],b[1]) のように、もっとエレガントなものを探しています。 a.slice(foo.bar(b)) ありがとうございます。

どのように解決するのですか?

を変更することができます。 Array を引数リストにすることができます。 * (または "splat") 演算子を使います。

a = [0, 1, 2, 3, 4] # => [0, 1, 2, 3, 4]
b = [2, 3] # => [2, 3]
a.slice(*b) # => [2, 3, 4]

参考