summaryrefslogtreecommitdiff
path: root/doc/string/each_grapheme_cluster.rdoc
blob: 8bc6f78aaa374d6d2f4281c18f583cb964beb6a5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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+:

  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}[rdoc-ref:String@Iterating].