Top rank per group: Difference between revisions
m
→{{header|Wren}}: Minor tidy
m (→{{header|Wren}}: Minor tidy) |
|||
(2 intermediate revisions by one other user not shown) | |||
Line 1,665:
=={{header|Elena}}==
ELENA
<syntaxhighlight lang="elena">import system'collections;
import system'routines;
Line 1,674:
class Employee
{
string toPrintable()
Line 1,684:
.writePaddingRight(ID, 12)
.writePaddingRight(Salary.toPrintable(), 12)
.write
}
Line 1,690:
{
topNPerDepartment(n)
= self.groupBy::(x => x.Department ).selectBy::(x)
{
^ new {
Line 1,696:
Employees
= x.orderBy::(f,l => f.Salary > l.Salary ).top(n).summarize(new ArrayList());
}
};
Line 1,720:
};
employees.topNPerDepartment
{
console.printLine("Department: ",info.Department);
info.Employees.forEach
console.writeLine
};
Line 7,192:
{{libheader|Wren-seq}}
{{libheader|Wren-fmt}}
<syntaxhighlight lang="
import "./sort" for Sort, Cmp
import "./seq" for Lst
import "./fmt" for Fmt
var Employee = Tuple.create("Employee", ["name", "id", "salary", "dept"])
|