ふとエクセルのAND関数,OR関数みたいのをぐるーびーで表現してみようと思いたった。
2013/10/16
2014/02/23
excel
groovy
ふとエクセルの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
: