Next: , Previous: Reversing and Appending Strings, Up: Strings


5.5.5.11 Mapping, Folding, and Unfolding
— Scheme Procedure: string-map proc s [start [end]]
— C Function: scm_string_map (proc, s, start, end)

proc is a char->char procedure, it is mapped over s. The order in which the procedure is applied to the string elements is not specified.

— Scheme Procedure: string-map! proc s [start [end]]
— C Function: scm_string_map_x (proc, s, start, end)

proc is a char->char procedure, it is mapped over s. The order in which the procedure is applied to the string elements is not specified. The string s is modified in-place, the return value is not specified.

— Scheme Procedure: string-for-each proc s [start [end]]
— C Function: scm_string_for_each (proc, s, start, end)

proc is mapped over s in left-to-right order. The return value is not specified.

— Scheme Procedure: string-for-each-index proc s [start [end]]
— C Function: scm_string_for_each_index (proc, s, start, end)

Call (proc i) for each index i in s, from left to right.

For example, to change characters to alternately upper and lower case,

          (define str (string-copy "studly"))
          (string-for-each-index (lambda (i)
                                   (string-set! str i
                                     ((if (even? i) char-upcase char-downcase)
                                      (string-ref str i))))
                                 str)
          str => "StUdLy"
     
— Scheme Procedure: string-fold kons knil s [start [end]]
— C Function: scm_string_fold (kons, knil, s, start, end)

Fold kons over the characters of s, with knil as the terminating element, from left to right. kons must expect two arguments: The actual character and the last result of kons' application.

— Scheme Procedure: string-fold-right kons knil s [start [end]]
— C Function: scm_string_fold_right (kons, knil, s, start, end)

Fold kons over the characters of s, with knil as the terminating element, from right to left. kons must expect two arguments: The actual character and the last result of kons' application.

— Scheme Procedure: string-unfold p f g seed [base [make_final]]
— C Function: scm_string_unfold (p, f, g, seed, base, make_final)

— Scheme Procedure: string-unfold-right p f g seed [base [make_final]]
— C Function: scm_string_unfold_right (p, f, g, seed, base, make_final)