From: Nikolai Weibull Date: 2010-03-26T03:33:11+09:00 Subject: [ruby-core:29003] Re: [Feature #2350](Rejected) Unicode specific functionality on String in 1.9 On Thu, Mar 25, 2010 at 18:24, NARUSE, Yui wrote: > (2010/03/26 0:02), Nikolai Weibull wrote: >> >> On Thu, Mar 25, 2010 at 14:45, Yusuke Endoh ��wrote: >>> >>> Issue #2350 has been updated by Yusuke Endoh. >> >>> Matz seemed to reject this ticket, and OP seemed to be satisfied >>> with matz's answer. ��So I close the ticket. >> >> How would I be able to hook in my character-encodings library into >> Ruby 1.9 Strings? ��I would like to override, for example, #upcase for >> all Strings that have a Unicode encoding. ��Is this possible? > > You can hook String methods, Ruby doesn't forbid it. Yes, I can do something like class String def unicodify extend Encoding::Character::Unicode end end but I was wondering if there was a way to do it without having to do String.new.unicodify.upcase > But I think, people want both ASCII version and Unicode version of upcase. > So you should name your Unicode methods another names. Why would they want that? Having an ASCII-only version of #upcase makes no sense for a Unicode String more than supporting #upcase requires that you load the Unicode character database information, which takes up quite a lot of memory. I want to transparently deal with this kind of thing. I know that the Ruby way is to be explicit about encodings and I actually like that, but that���s only something I care about at creation, not when invoking methods on the String.