Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
34
Task/Range-expansion/NetRexx/range-expansion.netrexx
Normal file
34
Task/Range-expansion/NetRexx/range-expansion.netrexx
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
/*NetRexx program to expand a range of integers into a list. *************
|
||||
* 09.08.2012 Walter Pachl derived from my Rexx version
|
||||
* Changes: translate(old,' ',',') -> old.translate(' ',',')
|
||||
* dashpos=pos('-',x,2) -> dashpos=x.pos('-',2)
|
||||
* Do -> Loop
|
||||
* Parse Var a x a -> Parse a x a
|
||||
* Parse Var x ... -> Parse x ...
|
||||
**********************************************************************/
|
||||
|
||||
parse arg old
|
||||
if old = '' then
|
||||
old='-6,-3--1,3-5,7-11,14,15,17-20' /*original list of nums/ranges */
|
||||
|
||||
Say 'old='old /*show old list of nums/ranges. */
|
||||
a=old.translate(' ',',') /*translate commas to blanks */
|
||||
new='' /*new list of numbers (so far). */
|
||||
|
||||
comma=''
|
||||
Loop While a<>'' /* as long as there is input */
|
||||
Parse a x a /* get one element */
|
||||
dashpos=x.pos('-',2) /* find position of dash, if any */
|
||||
If dashpos>0 Then Do /* element is low-high */
|
||||
Parse x low =(dashpos) +1 high /* split the element */
|
||||
Loop j=low To high /* output all numbers in range */
|
||||
new=new||comma||j /* with separating commas */
|
||||
comma=',' /* from now on use comma */
|
||||
End
|
||||
End
|
||||
Else Do /* element is a number */
|
||||
new=new||comma||x /* append (with comma) */
|
||||
comma=',' /* from now on use comma */
|
||||
End
|
||||
End
|
||||
Say 'new='new /*show the expanded list */
|
||||
Loading…
Add table
Add a link
Reference in a new issue