[#10193] String.ord — David Flanagan <david@...>

Hi,

41 messages 2007/02/05
[#10197] Re: String.ord — Yukihiro Matsumoto <matz@...> 2007/02/06

Hi,

[#10198] Re: String.ord — David Flanagan <david@...> 2007/02/06

Yukihiro Matsumoto wrote:

[#10199] Re: String.ord — Daniel Berger <djberg96@...> 2007/02/06

David Flanagan wrote:

[#10200] Re: String.ord — David Flanagan <david@...> 2007/02/06

Daniel Berger wrote:

[#10208] Re: String.ord — "Nikolai Weibull" <now@...> 2007/02/06

On 2/6/07, David Flanagan <david@davidflanagan.com> wrote:

[#10213] Re: String.ord — David Flanagan <david@...> 2007/02/06

Nikolai Weibull wrote:

[#10215] Re: String.ord — "Nikolai Weibull" <now@...> 2007/02/06

On 2/6/07, David Flanagan <david@davidflanagan.com> wrote:

[#10216] Re: String.ord — David Flanagan <david@...> 2007/02/07

Nikolai Weibull wrote:

[#10288] Socket library should support abstract unix sockets — <noreply@...>

Bugs item #8597, was opened at 2007-02-13 16:10

12 messages 2007/02/13

[#10321] File.basename fails on Windows root paths — <noreply@...>

Bugs item #8676, was opened at 2007-02-15 10:09

11 messages 2007/02/15

[#10323] Trouble with xmlrpc — James Edward Gray II <james@...>

Some of the Ruby code used by TextMate makes use of xmlrpc/

31 messages 2007/02/15
[#10324] Re: Trouble with xmlrpc — "Berger, Daniel" <Daniel.Berger@...> 2007/02/15

> -----Original Message-----

[#10326] Re: Trouble with xmlrpc — James Edward Gray II <james@...> 2007/02/15

On Feb 15, 2007, at 1:29 PM, Berger, Daniel wrote:

[#10342] Re: Trouble with xmlrpc — James Edward Gray II <james@...> 2007/02/16

While I am complaining about xmlrpc, we have another issue. It's

[#10343] Re: Trouble with xmlrpc — Alex Young <alex@...> 2007/02/16

James Edward Gray II wrote:

[#10344] Re: Trouble with xmlrpc — James Edward Gray II <james@...> 2007/02/16

On Feb 16, 2007, at 12:08 PM, Alex Young wrote:

Re: String.ord

From: "Micah Wylde" <wyldeone@...>
Date: 2007-02-08 01:03:34 UTC
List: ruby-core #10238
I'm not a contributor, but I am a user of ruby, and there is a
possibility that no one seems to have mentioned. What about having
String.ord return an array of integers, with a one character string
returning a one element array?

So "test".ord => [116, 101, 115, 116]
"a".org => [97]

Under this scheme, referencing a particular number is no more
difficult then it is now, just instead of "test"[2].ord, you'd do
"test".ord[2]. The biggest disadvantage I can see is the requirement
for creating the array, which for big strings could get expensive.
However, if the user is worried about that they can just do
"test"[2].ord[0], which would be significantly less expensive (though
slightly more than the current scheme).

I agree that there shouldn't be methods that only work with certain
strings. That, I think, just causes confusion and goes against the
object-oriented principles of ruby.

On 2/7/07, Matt Pattison <matchbo@gmail.com> wrote:
> On 2/8/07, David Flanagan <david@davidflanagan.com> wrote:
> > Nikolai Weibull wrote:
> > > On 2/7/07, Sam Roberts <sroberts@uniserve.com> wrote:
> > >
> > >> Is creating a temporary 1-byte String really that expensive? Some
> > >> benchmarks showing an algorithm that uses a long binary string as a data
> > >> structure performs much faster with String#ord(i) than String#[i].ord
> > >> would probably convince everybody.
> > >
> > > May I beg for an /important/ algorithm?
> >
> > Geez!  What does it take to satisfy you guys!  :-)
> >
> > Seriously, though, I thought that my suggestion for an optional index
> > argument to ord was a modest and sensible one.  Actually, I thought I
> > was just pointing out an oversight and I'm surprised at the resistance
> > it has faced.  Given the richness of the core Ruby API, I assume that
> > decisions about adding methods are based on elegance, and that is
> > permitted or even desirable to have more than one way to do something.
>
> FWIW, I think ord_at or a similarly named method sounds like a good idea.
> It's simple, and it's a good future alternative to the Ruby 1.8 and earlier
> behaviour of String#[] (when given a Fixnum argument).
>
> <snip>
>
> > Anyway, I can see why encoding issues and multi-byte character issues
> > argue strongly for representing characters as a kind of String.  Has
> > anyone argued for creating a Character class that extends String?  This
> > would be a natural place to put methods like ord and digit? alpha?, etc.
> > Also, I tend to think that characters should be immutable (I'm not sure
> > why) and having a subclass would probably allow that.
>
> I think a Character class could be a good idea, as I felt slightly
> uncomfortable in the past indexing into a string and being returned a
> Fixnum, and whilst returning a String containing one character is an
> improvement, from a purely aesthetic perspective I would prefer to be
> returned a Character (derived from a String), and have methods
> designed to act on characters factored out into this Character class.
> However I am not a Unicode or Ruby internals or language API expert,
> so I don't have the same level of insight to add as others in this
> thread.
>
> Matt
>
>


-- 
Micah Wylde

In This Thread