Skip to content

End of Life Ruby 3.2 has reached end of life and gets no more fixes. Switch to Ruby 4.0 →

instance method

String#each_grapheme_cluster

each_grapheme_cluster {|gc| ... } → self
each_grapheme_cluster → enumerator

Calls the given block with each successive grapheme cluster from self (see Unicode Grapheme Cluster Boundaries); returns self:

Example
s = "\u0061\u0308-pqr-\u0062\u0308-xyz-\u0063\u0308" # => "ä-pqr-b̈-xyz-c̈"
s.each_grapheme_cluster {|gc| print gc, ' ' }

Output:

ä - p q r - b̈ - x y z - c̈

Returns an enumerator if no block is given.

Ruby version changes

  1. 3.0
See also #each_codepoint #each_line #each_char #empty? also in 4.1 · 4.0 · 3.4 · 3.3 · 3.1 · 3.0