Issue #12744 has been reported by Bouke van der Bijl.

----------------------------------------
Feature #12744: Add str.reverse_each and str.reverse_chars
https://bugs.ruby-lang.org/issues/12744

* Author: Bouke van der Bijl
* Status: Open
* Priority: Normal
* Assignee: 
----------------------------------------
This patch adds `str.reverse_each` and `str.reverse_chars`. It's currently not really possible to iterate a Ruby string in reverse while guaranteeing that you're not accidentally introducing an O(N^2) bug, without encoding to a fixed-length encoding like UTF-32. This is because variable-length encodings like UTF-8 requiring iterating over the whole string if you want to address characters by index.

The patch uses `rb_enc_left_char_head` to iterate over the string in reverse, so you can do so without allocating more memory.

---Files--------------------------------
add-reverse-string-iteration.patch (5.91 KB)


-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>