Annotation of 43BSD/contrib/icon/src/lib/strutil.icn, revision 1.1.1.1

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

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.