Optional parameters: Difference between revisions

Content added Content deleted
m (→‎{{header|Wren}}: Sort.reverse is now Lst.reverse.)
Line 3,063: Line 3,063:
=={{header|Wren}}==
=={{header|Wren}}==
{{libheader|Wren-sort}}
{{libheader|Wren-sort}}
{{libheader|Wren-seq}}
Wren doesn't support optional parameters as such but does support method overloading by ''arity'' (i.e. number of parameters) which makes it easy to simulate them.
Wren doesn't support optional parameters as such but does support method overloading by ''arity'' (i.e. number of parameters) which makes it easy to simulate them.
<lang ecmascript>import "/sort" for Cmp, Sort
<lang ecmascript>import "./sort" for Cmp, Sort
import "./seq" for Lst


class TableSorter {
class TableSorter {
Line 3,072: Line 3,074:
if (ordering == null) ordering = Fn.new { |r1, r2| Cmp.string.call(r1[column], r2[column]) }
if (ordering == null) ordering = Fn.new { |r1, r2| Cmp.string.call(r1[column], r2[column]) }
var sorted = Sort.merge(table, ordering)
var sorted = Sort.merge(table, ordering)
if (reverse) Sort.reverse(sorted)
if (reverse) Lst.reverse(sorted)
return sorted
return sorted
}
}