私は PHP の世界から来て、レコードの集計を行う必要があります。PHPではこれは簡単ですが、Groovyで次のことを行うにはどうすればよいですか
$logs = array( array( 'date' => '5-15', 'name' => 'foo' ...other stuff),
array( 'date' => '5-15', 'name' => 'bar' ...other stuff),
array( 'date' => '5-16', 'name' => 'foo' ...other stuff),
array( 'date' => '5-17', 'name' => 'foo' ...other stuff),
array( 'date' => '5-17', 'name' => 'foo' ...other stuff),
array( 'date' => '5-17', 'name' => 'bar' ...other stuff),
array( 'date' => '5-17', 'name' => 'bar' ...other stuff) );
$counts = array();
foreach($logs as $log) {
if( isset($counts[ $log['date'] ][ $log['name'] ]) ) {
$counts[ $log['date'] ][ $log['name'] ] = 1;
} else {
$counts[ $log['date'] ][ $log['name'] ]++;
}
}
結果が得られます
['5-15']['foo'] = 1
['5-15']['bar'] = 1
['5-16']['foo'] = 1
['5-17']['foo'] = 2
['5-17']['bar'] = 2
ログは、実際には GORM クエリから返された結果セットです。