Add tasks for all the new languages
This commit is contained in:
parent
9dc3c2bb62
commit
bba7bfd280
13208 changed files with 134745 additions and 0 deletions
22
Task/Optional-parameters/Nim/optional-parameters.nim
Normal file
22
Task/Optional-parameters/Nim/optional-parameters.nim
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
import algorithm, strutils, future
|
||||
|
||||
proc printTable(a) =
|
||||
for row in a:
|
||||
for x in row: stdout.write x, repeatChar(4 - x.len)
|
||||
echo ""
|
||||
echo ""
|
||||
|
||||
proc sortTable(a: seq[seq[string]], column = 0, reverse = false,
|
||||
ordering: (proc(a,b: string): int) = system.cmp) : seq[seq[string]] =
|
||||
let order = if reverse: Descending else: Ascending
|
||||
result = a
|
||||
result.sort(proc(x,y:seq[string]):int = ordering(x[column],y[column]), order)
|
||||
|
||||
const data = @[@["a", "b", "c"], @["", "q", "z"], @["zap", "zip", "Zot"]]
|
||||
|
||||
printTable data
|
||||
printTable sortTable(data)
|
||||
printTable sortTable(data, column = 2)
|
||||
printTable sortTable(data, column = 1)
|
||||
printTable sortTable(data, column = 1, reverse = true)
|
||||
printTable sortTable(data, ordering = (a,b) => cmp[int](b.len,a.len))
|
||||
Loading…
Add table
Add a link
Reference in a new issue