Re:全ての組み合わせ
お題: Server error
投稿: Server error
誰も使ってなかったようなので、List#combinations()を使ってみました。
(動作確認: Groovy Version: 1.5.7 JVM: 1.6.0_10)
def crossProduct(Object... params){ params*.toList().combinations() } println crossProduct([0, 1], "ab", ["Foo", "Bar"])
考察
リストのリストとして引数を渡す必要があるんですが、お題のサンプルの引数の一つに文字列 ("ab") が入っていたんで、可変長引数を使ってみました。
def crossProduct(Object... params){
可変長で受け取っておいて、*.toList() でリストに変換して #combinations() してみました。