genzou #6476(2008/06/12 17:54 GMT) [ Groovy ] Rating0/0=0.00
結果は Map(プロパティとしてmany、oneを持つ)で 帰ります。
nullの場合にはその他、ということで。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
def check( list ){ def ulist = list.unique() switch(ulist.size()){ case 1: return [ many:ulist[0] ] break; case 2: if( list.count(ulist[0]) == 1 ){ return [ many:list[1], one:ulist[0] ] } else if( list.count(ulist[1]) == 1 ){ return [ many:list[0], one:ulist[1] ] } break; default: break; } return null } // 動作確認 println check([1,1,1,1]) println check([1,2,1,1,1]) println check([1,2,2,1,1]) println check([1,2,2,1,3])
Rating0/0=0.00-0+
[ reply ]
genzou
#6476()
[
Groovy
]
Rating0/0=0.00
結果は Map(プロパティとしてmany、oneを持つ)で 帰ります。
nullの場合にはその他、ということで。
def check( list ){ def ulist = list.unique() switch(ulist.size()){ case 1: return [ many:ulist[0] ] break; case 2: if( list.count(ulist[0]) == 1 ){ return [ many:list[1], one:ulist[0] ] } else if( list.count(ulist[1]) == 1 ){ return [ many:list[0], one:ulist[1] ] } break; default: break; } return null } // 動作確認 println check([1,1,1,1]) println check([1,2,1,1,1]) println check([1,2,2,1,1]) println check([1,2,2,1,3])Rating0/0=0.00-0+
[ reply ]