Range extraction: Difference between revisions

m
(Emacs Lisp: Rewrite unreadable alternative solution)
Line 1,486:
 
<lang dyalect>func rangeFormat(a) {
if a.lenLength() == 0 {
return ""
}
Line 1,493:
while true {
var n2 = n1 + 1
while n2 < a.lenLength() && a[n2] == a[n2-1]+1 {
n2 += 1
}
var s = a[n1].toStringToString()
if n2 == n1+2 {
s += "," + a[n2-1]
Line 1,502:
s += "-" + a[n2-1]
}
parts.addAdd(s)
if n2 == a.lenLength() {
break
}
Line 1,514:
n1 = n2
}
return String.joinJoin(values: parts)
}
Anonymous user