instance method
String#each_char
() -> ::Enumerator[::String, self]
() { (::String char) -> void } -> self
each_char {|char| ... } → self
each_char → enumerator
string.c
View on GitHub ↗
static VALUE
rb_str_each_char(VALUE str)
{
RETURN_SIZED_ENUMERATOR(str, 0, 0, rb_str_each_char_size);
return rb_str_enumerate_chars(str, 0);
}
With a block given, calls the block with each successive character from self; returns self:
Example
a = [] 'hello'.each_char do |char| a.push(char) end a # => ["h", "e", "l", "l", "o"] a = [] 'тест'.each_char do |char| a.push(char) end a # => ["т", "е", "с", "т"] a = [] 'こんにちは'.each_char do |char| a.push(char) 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]
-
See also
#each_byte
#each_codepoint
#dump
#each_grapheme_cluster
also in
4.1 · 3.4 · 3.3 · 3.2 · 3.1 · 3.0