Maintenance Ruby 3.4 gets fixes, but no new features. Switch to Ruby 4.0 →
instance method
String#each_char
() -> ::Enumerator[::String, self]
() { (::String char) -> void } -> self
each_char {|c| ... } → 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);
}
Calls the given block with each successive character from self; returns self:
Example
'hello'.each_char {|char| print char, ' ' } print "\n" 'тест'.each_char {|char| print char, ' ' } print "\n" 'こんにちは'.each_char {|char| print char, ' ' } print "\n"
Output:
Example
h e l l o т е с т こ ん に ち は
Returns an enumerator if no block is given.
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 · 4.0 · 3.3 · 3.2 · 3.1 · 3.0