7

Rubyでデカルト積を計算するには、を使用できますArray#product。配列の配列があり、積を計算したい場合の構文はどうですか?

[[1,2],[3,4],[5,6]] => [[1,3,5], [2,3,5], ...]

Rubyのドキュメントでは、productメソッドは任意の数の引数で定義されているため、わかりません。次のように、配列の配列を引数として渡すだけです。

[].product(as) => [

十分ではありません。どうすればこれを解決できますか?

4

2 に答える 2

11

このメソッドは複数の引数を取りますが、引数を含む配列は取りません。したがって、次のように使用する必要があります。

[1,2].product [3,4], [5,6]

が配列の配列である場合asは、次のように「スプラット」する必要があります。

as[0].product(*as[1..-1])
于 2013-02-03T01:36:47.550 に答える
1

私が持っている最も近い表記は次のとおりです。

:product.to_proc.call(*as)

# shorthand
:product.to_proc.(*as)
:product.to_proc[*as]
于 2018-01-23T12:44:31.443 に答える