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
29
Task/Range-extraction/LiveCode/range-extraction-1.livecode
Normal file
29
Task/Range-extraction/LiveCode/range-extraction-1.livecode
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
function rangeExtract nums
|
||||
local prevNum, znums, rangedNums
|
||||
set itemDelimiter to ", "
|
||||
put the first item of nums into prevNum
|
||||
repeat for each item n in nums
|
||||
if n is (prevNum + 1) then
|
||||
put n into prevNum
|
||||
put "#" & n after znums
|
||||
else
|
||||
put n into prevNum
|
||||
put return & n after znums
|
||||
end if
|
||||
end repeat
|
||||
set itemDelimiter to "#"
|
||||
repeat for each line z in znums
|
||||
if z is empty then next repeat
|
||||
switch the number of items of z
|
||||
case 1
|
||||
put z & "," after rangedNums
|
||||
break
|
||||
case 2
|
||||
put item 1 of z & "," & item -1 of z & "," after rangedNums
|
||||
break
|
||||
default
|
||||
put item 1 of z & "-" & item -1 of z & "," after rangedNums
|
||||
end switch
|
||||
end repeat
|
||||
return char 1 to -2 of rangedNums --strip off trailing comma
|
||||
end rangeExtract
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
command testRangeExtract
|
||||
local numbers
|
||||
put "0, 1, 2, 4, 6, 7, 8, 11, 12, 14," \
|
||||
&& "15, 16, 17, 18, 19, 20, 21, 22, 23, 24," \
|
||||
&& "25, 27, 28, 29, 30, 31, 32, 33, 35, 36," \
|
||||
&& "37, 38, 39" into numbers
|
||||
put rangeExtract(numbers)
|
||||
end testRangeExtract
|
||||
|
|
@ -0,0 +1 @@
|
|||
0-2,4,6-8,11,12,14-25,27-33,35-39
|
||||
Loading…
Add table
Add a link
Reference in a new issue