From: mame@... Date: 2018-12-26T14:31:45+00:00 Subject: [ruby-core:90731] [Ruby trunk Feature#6670][Closed] str.chars.last should be possible Issue #6670 has been updated by mame (Yusuke Endoh). Status changed from Assigned to Closed I committed r66575. I forgot to write the ticket number... ---------------------------------------- Feature #6670: str.chars.last should be possible https://bugs.ruby-lang.org/issues/6670#change-75909 * Author: yhara (Yutaka HARA) * Status: Closed * Priority: Normal * Assignee: mame (Yusuke Endoh) * Target version: Next Major ---------------------------------------- =begin Since str.chars returns an Enumerator, we need explicit to_a for some operations: str.chars.to_a.last str.chars.to_a[1,3] But often I forget that and write: str.chars.last str.chars[1,3] Besides that, I feel it is hard to explain why to_a is needed here when I'm writing artilcles for Ruby beginners. Simplest way to achieve this is to make String#chars (also #lines, #bytes and #codepoints) return an Array. Since arrays have most of the methods defined in Enumerator, this will not be a big change. For programs like str.chars.next, you can use each_char instead. =end ---Files-------------------------------- 6670.pdf (39.4 KB) string_bytes_to_array.patch (27.4 KB) 0001-Deprecate-lines-bytes-chars-codepoints-of-IO-likes.patch (21.9 KB) -- https://bugs.ruby-lang.org/ Unsubscribe: