instance method
String#each_grapheme_cluster
() -> ::Enumerator[::String, self]
() { (::String grapheme_cluter) -> void } -> self
each_grapheme_cluster {|grapheme_cluster| ... } → self
each_grapheme_cluster → enumerator
string.c
View on GitHub ↗
static VALUE
rb_str_each_grapheme_cluster(VALUE str)
{
RETURN_SIZED_ENUMERATOR(str, 0, 0, rb_str_each_grapheme_cluster_size);
return rb_str_enumerate_grapheme_clusters(str, 0);
}
With a block given, calls the given block with each successive grapheme cluster from self (see Unicode Grapheme Cluster Boundaries); returns self:
Example
a = [] 'hello'.each_grapheme_cluster do |grapheme_cluster| a.push(grapheme_cluster) end a # => ["h", "e", "l", "l", "o"] a = [] 'тест'.each_grapheme_cluster do |grapheme_cluster| a.push(grapheme_cluster) end a # => ["т", "е", "с", "т"] a = [] 'こんにちは'.each_grapheme_cluster do |grapheme_cluster| a.push(grapheme_cluster) end a # => ["こ", "ん", "に", "ち", "は"]
With no block given, returns an enumerator.
Related: see Iterating.
Ruby version changes
-
3.0
-
The following methods now return or yield
Stringinstances instead of subclass instances when called on subclass instances: [Bug #10845]
-