Index: TECH/ListUtils.cls.xml =================================================================== diff -u -r2033 -r2070 --- TECH/ListUtils.cls.xml (.../ListUtils.cls.xml) (revision 2033) +++ TECH/ListUtils.cls.xml (.../ListUtils.cls.xml) (revision 2070) @@ -713,6 +713,45 @@ quit Complement ]]> + + +1 +IntegerList:%ListOfDataTypes +TECH.String +0 { + Set ListIt = ##class(TECH.ListIterator).%New(IntegerList) + #dim PreviousNumber As TECH.Integer = "" + #dim WasConsecutive As %Boolean = $$$False + While ListIt.HasNext() { + #dim Number As TECH.Integer = ListIt.Next() + If PreviousNumber = "" { + Set String = Number + } Else { + If (Number-PreviousNumber)=1 { + Set WasConsecutive = $$$True + If $$$Not(ListIt.HasNext()) { + Set String = String_$$$ConsecutiveSeparator_Number + } + } Else { + If WasConsecutive { + Set String = String_$$$ConsecutiveSeparator_PreviousNumber_$$$NotConsecutiveSeparator_Number + } Else { + Set String = String_$$$NotConsecutiveSeparator_Number + } + Set WasConsecutive = $$$False + } + } + Set PreviousNumber = Number + } + } + Quit String +]]> +