[DOC] Tweaks for String#each_grapheme_cluster (#13981)

This commit is contained in:
Burdette Lamar 2025-07-23 16:07:25 -05:00 committed by GitHub
parent e3d36fff8f
commit 56572baa4c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 20 additions and 7 deletions

View file

@ -1,12 +1,25 @@
Calls the given block with each successive grapheme cluster from +self+
With a block given, calls the given block with each successive grapheme cluster from +self+
(see {Unicode Grapheme Cluster Boundaries}[https://www.unicode.org/reports/tr29/#Grapheme_Cluster_Boundaries]);
returns +self+:
s = "\u0061\u0308-pqr-\u0062\u0308-xyz-\u0063\u0308" # => "ä-pqr-b̈-xyz-c̈"
s.each_grapheme_cluster {|gc| print gc, ' ' }
a = []
'hello'.each_grapheme_cluster do |grapheme_cluster|
a.push(grapheme_cluster)
end
a # => ["h", "e", "l", "l", "o"]
Output:
a = []
'тест'.each_grapheme_cluster do |grapheme_cluster|
a.push(grapheme_cluster)
end
a # => ["т", "е", "с", "т"]
ä - p q r - b̈ - x y z - c̈
a = []
'こんにちは'.each_grapheme_cluster do |grapheme_cluster|
a.push(grapheme_cluster)
end
a # => ["こ", "ん", "に", "ち", "は"]
Returns an enumerator if no block is given.
With no block given, returns an enumerator.
Related: see {Iterating}[rdoc-ref:String@Iterating].

View file

@ -10029,7 +10029,7 @@ rb_str_enumerate_grapheme_clusters(VALUE str, VALUE ary)
/*
* call-seq:
* each_grapheme_cluster {|gc| ... } -> self
* each_grapheme_cluster {|grapheme_cluster| ... } -> self
* each_grapheme_cluster -> enumerator
*
* :include: doc/string/each_grapheme_cluster.rdoc