[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
6.6.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)
- g is used to generate a series of seed values from the initial seed: seed, (g seed), (g^2 seed), (g^3 seed), …
- p tells us when to stop – when it returns true when applied to one of these seed values.
- f maps each seed value to the corresponding character in the result string. These chars are assembled into the string in a left-to-right order.
- base is the optional initial/leftmost portion of the constructed string; it default to the empty string.
- make_final is applied to the terminal seed value (on which p returns true) to produce the final/rightmost portion of the constructed string. The default is nothing extra.
- 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)
- g is used to generate a series of seed values from the initial seed: seed, (g seed), (g^2 seed), (g^3 seed), …
- p tells us when to stop – when it returns true when applied to one of these seed values.
- f maps each seed value to the corresponding character in the result string. These chars are assembled into the string in a right-to-left order.
- base is the optional initial/rightmost portion of the constructed string; it default to the empty string.
- make_final is applied to the terminal seed
value (on which p returns true) to produce
the final/leftmost portion of the constructed string.
It defaults to
(lambda (x) )
.
[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This document was generated on April 20, 2013 using texi2html 5.0.