ふとエクセルのAND関数,OR関数みたいのをぐるーびーで表現してみようと思いたった。 2013/10/16
2014/02/23

ふとエクセルのAND関数,OR関数みたいのをgroovyで表現してみようと思いたった。
まずは可変長引数は、


つぎに、2番目の配列から最後尾までを取得は、tailでよいようだ。
というわけで、作成した結果


def and = { ... arg -> return arg[0] && (( 1 < arg.size() )? call(arg.tail()) : true) } // println and(true, true, true, false) // 適当にテスト assert and(true) == true assert and(false) == false assert and(true, true) == true assert and(true, false) == false assert and(true, true, true) == true assert and(true, true, true, false) == false assert and(true, true, false, true) == false def or = { ... arg -> return arg[0] || (( 1 < arg.size() )? call(arg.tail()) : false) } // 適当にテスト assert or(true) == true assert or(false, false) == false assert or(true, false) == true assert or(true, true) == true assert or(false, false, false) == false

: