Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
28
Task/Optional-parameters/D/optional-parameters.d
Normal file
28
Task/Optional-parameters/D/optional-parameters.d
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
import std.stdio, std.algorithm, std.functional;
|
||||
|
||||
string[][] sortTable(string[][] table,
|
||||
in bool function(string[],string[]) ordering=null,
|
||||
in int column = 0,
|
||||
in bool reverse = false) {
|
||||
if (ordering is null)
|
||||
table.schwartzSort!(row => row[column])();
|
||||
else
|
||||
table.sort!ordering();
|
||||
if (reverse)
|
||||
table.reverse();
|
||||
return table;
|
||||
}
|
||||
|
||||
void main() {
|
||||
auto data = [["a", "b", "c"],
|
||||
["", "q", "z"],
|
||||
["zap", "zip", "Zot"]];
|
||||
|
||||
alias show = curry!(writefln, "%-(%s\n%)\n");
|
||||
show(data);
|
||||
show(sortTable(data));
|
||||
show(sortTable(data, null, 2));
|
||||
show(sortTable(data, null, 1));
|
||||
show(sortTable(data, null, 1, true));
|
||||
show(sortTable(data, (a,b) => b.length > a.length));
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue