|
|
1.1 ! root 1: # STRUTIL(2) ! 2: # ! 3: # String utilities ! 4: # ! 5: # Ralph E. Griswold ! 6: # ! 7: # Last modified 7/10/83 ! 8: # ! 9: ! 10: # compress characters ! 11: # ! 12: procedure compress(s,c) ! 13: local i ! 14: i := 0 ! 15: while i := upto(c,s,i + 1) do ! 16: s := s[1:i + 1] || s[many(s[i],s,i):0] ! 17: return s ! 18: end ! 19: ! 20: # delete characters ! 21: # ! 22: procedure delete(s,c) ! 23: local i ! 24: while i := upto(c,s) do ! 25: s[i:many(c,s,i)] := "" ! 26: return s ! 27: end ! 28: ! 29: # rotate string ! 30: # ! 31: procedure rotate(s,i) ! 32: /i := 1 ! 33: if i <= 0 then i +:= *s ! 34: i %:= *s ! 35: return s[i + 1:0] || s[1:i + 1] ! 36: end
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.