Optional parameters: Difference between revisions
Content added Content deleted
(Replace println() with print(); replace output "syntaxhighlight" tag with "pre" tag) |
|||
Line 875: | Line 875: | ||
=={{header|Ecstasy}}== |
=={{header|Ecstasy}}== |
||
<syntaxhighlight lang="java"> |
<syntaxhighlight lang="java"> |
||
module OptionalParameters |
module OptionalParameters { |
||
{ |
|||
typedef Type<String >.Orderer as ColumnOrderer; |
typedef Type<String >.Orderer as ColumnOrderer; |
||
typedef Type<String[]>.Orderer as RowOrderer; |
typedef Type<String[]>.Orderer as RowOrderer; |
||
Line 884: | Line 883: | ||
Int column = 0, |
Int column = 0, |
||
Boolean reverse = False, |
Boolean reverse = False, |
||
) |
) { |
||
{ |
|||
// provide a default orderer |
// provide a default orderer |
||
orderer ?:= (s1, s2) -> s1 <=> s2; |
orderer ?:= (s1, s2) -> s1 <=> s2; |
||
Line 898: | Line 896: | ||
return table.sorted(byColumn); |
return table.sorted(byColumn); |
||
} |
|||
void run() |
void run() { |
||
{ |
|||
String[][] table = |
String[][] table = |
||
[ |
[ |
||
Line 913: | Line 910: | ||
show("by column 2", sort(table, column=2)); |
show("by column 2", sort(table, column=2)); |
||
show("by column 2 reversed", sort(table, column=2, reverse=True)); |
show("by column 2 reversed", sort(table, column=2, reverse=True)); |
||
} |
|||
void show(String title, String[][] table) |
void show(String title, String[][] table) { |
||
{ |
|||
@Inject Console console; |
@Inject Console console; |
||
console.print($"{title}:"); |
console.print($"{title}:"); |
||
for (val row : table) |
for (val row : table) { |
||
{ |
|||
console.print($" {row}"); |
console.print($" {row}"); |
||
} |
|||
⚫ | |||
} |
} |
||
⚫ | |||
} |
} |
||
} |
|||
</syntaxhighlight> |
</syntaxhighlight> |
||