tasks a-s
This commit is contained in:
parent
47bf37c096
commit
b83f433714
12433 changed files with 156208 additions and 123 deletions
20
Task/Optional-parameters/Icon/optional-parameters.icon
Normal file
20
Task/Optional-parameters/Icon/optional-parameters.icon
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
procedure main()
|
||||
X := [ [1,2,3], [2,3,1], [3,1,2]) # A list of lists
|
||||
Sort(X) # vanilla sort
|
||||
Sort(X,"ordering","numeric","column",2,"reverse") # using optional parameters
|
||||
end
|
||||
|
||||
procedure Sort(X,A[]) # A[] provides for a variable number of arguments
|
||||
while a := get(A) do {
|
||||
case a of {
|
||||
"ordering" : op := case get(A) | runerr(205,a) of {
|
||||
"lexicographic"|"string": "<<"
|
||||
"numeric": "<"
|
||||
default: runerr(205,op)
|
||||
}
|
||||
"column" : col := 0 < integer(col := get(A)) | runerr(205,col)
|
||||
"reverse" : reverseorder := reverse
|
||||
default: runerr(205,a)
|
||||
}
|
||||
return (\reverseorder|1)(bubblesortf(X,\c|1,\op|"<<")) # reverse or return the sorted list
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue