RosettaCodeData/Task/Optional-parameters/Arturo/optional-parameters.arturo
2026-02-01 16:33:20 -08:00

31 lines
706 B
Text

sortTable: function [tbl][
reversed?: (attr 'reverse)?? false
column: to :string (attr 'column)?? 0
result: sort.by: column map tbl 'r [
to :dictionary flatten couple @ 0..dec size r r
]
if reversed? -> reverse 'result
return map result 'r -> values r
]
printTable: function [tbl, title][
print ["==" title]
loop tbl 'row [
print row
]
print ""
]
lst: [
["a", "b", "c"]
["", "q", "z"]
["zap", "zip", "Zot"]
]
printTable sortTable lst "Default sort"
printTable sortTable.column:1 lst "Sorting by column=1"
printTable sortTable.reverse lst "Sorting, reversed"
printTable sortTable.reverse.column:1 lst "Sorting by column=1, reversed"