[#300221] How about the execution efficiency in Ruby 1.9? — Erwin Moller <hi.steven.tu@...>

Has It been greatly improved?

12 messages 2008/05/01

[#300267] splitting with a regex & keeping a ref? — "Kyle Schmitt" <kyleaschmitt@...>

I'm writing some scripts to help handle some ornery samba servers we

13 messages 2008/05/01

[#300280] Please explain nuances of ||= — Ruby Freak <twscannell@...>

I am reading some of the ruby files in rails and I an seeing the ||=

28 messages 2008/05/01
[#300305] Re: Please explain nuances of ||= — Simon Krahnke <overlord@...> 2008/05/01

* David A. Black <dblack@rubypal.com> (18:56) schrieb:

[#300312] Re: Please explain nuances of ||= — "David A. Black" <dblack@...> 2008/05/01

Hi --

[#300317] Re: Please explain nuances of ||= — Phillip Gawlowski <cmdjackryan@...> 2008/05/01

-----BEGIN PGP SIGNED MESSAGE-----

[#300308] Is there some way to execute a block within an arbitrary lexical scope? — Ruby Talk <rubytalk@...>

Is there some way to execute a block within a certain lexical scope?

10 messages 2008/05/01

[#300384] Extracting a value from an array — Albert Schlef <albertschlef@...>

I have the following array:

18 messages 2008/05/02

[#300431] Reverse Divisible Numbers (#161) — Matthew Moss <matthew.moss@...>

This is a fairly simple quiz this week, as I'm in the middle of

35 messages 2008/05/02

[#300437] Ruby 1.9 wishlist — coderrr <coderrr.contact@...>

Hey I just put together a list of stuff I totally wish Ruby had and I

16 messages 2008/05/02

[#300545] Why there is not "replace" method for Fixnum? — Iñaki Baz Castillo <ibc@...>

Hi, using String#replace I can "simulate" a pointer (thanks to David A. for=

10 messages 2008/05/03

[#300569] Different Ways To Loop — Wyatt Greene <greenewm@...>

I love the flexibility of Ruby. It gives you several ways to do

19 messages 2008/05/04

[#300648] How would you design regexps in the integer domain? — Andreas Launila <ruby-talk@...>

I'm trying to come up with a clean way to specify regexps in the integer

13 messages 2008/05/05

[#300751] Ruby has to be interpreted line by line in runtime, does this affect Ruby's execution efficiency badly? — Erwin Moller <hi.steven.tu@...>

Why doesn't the inventor design a better approach to avoid this

8 messages 2008/05/06

[#300752] In order to cross platform, Ruby is designed to be interpreted in runtime, so Ruby code is exposed on the server. This brings a security danger which is not acceptable. — Erwin Moller <hi.steven.tu@...>

How about PHP? I think the same problem with PHP.

10 messages 2008/05/06
[#300755] Re: In order to cross platform, Ruby is designed to be interpreted in runtime, so Ruby code is exposed on the server. This brings a security danger which is not acceptable. — Phillip Gawlowski <cmdjackryan@...> 2008/05/06

-----BEGIN PGP SIGNED MESSAGE-----

[#300860] Re: In order to cross platform, Ruby is designed to be interpreted in runtime, so Ruby code is exposed on the server. This brings a security danger which is not acceptable. — Clifford Heath <no@...> 2008/05/07

Phillip Gawlowski wrote:

[#300862] Re: In order to cross platform, Ruby is designed to be interpreted in runtime, so Ruby code is exposed on the server. This brings a security danger which is not acceptable. — Phillip Gawlowski <cmdjackryan@...> 2008/05/07

-----BEGIN PGP SIGNED MESSAGE-----

[#300767] Reading from file, create a class with variables — Pelle Strul <aardtwig@...>

Hi, I'm trying to load a file with specifications like:

11 messages 2008/05/06

[#300834] Where to put code for extending a class? — Zoop Zoop <manuel.meurer@...>

I want to extend the String class with a capitalize_each_word method

31 messages 2008/05/06
[#300839] Re: Where to put code for extending a class? — "Robert Dober" <robert.dober@...> 2008/05/06

On Tue, May 6, 2008 at 10:47 PM, Zoop Zoop <manuel.meurer@gmail.com> wrote:

[#300859] Re: Where to put code for extending a class? — Zoop Zoop <manuel.meurer@...> 2008/05/07

Robert, could you explain a bit more what you mean?

[#300864] Re: Where to put code for extending a class? — Phillip Gawlowski <cmdjackryan@...> 2008/05/07

-----BEGIN PGP SIGNED MESSAGE-----

[#300893] Re: Where to put code for extending a class? — "David A. Black" <dblack@...> 2008/05/07

Hi --

[#300919] Word for monkeypatching — Brian Marick <marick@...> 2008/05/07

[#300835] get method in Array subclass: where's it defined? — RichardOnRails <RichardDummyMailbox58407@...>

Hi,

10 messages 2008/05/06

[#300900] Posting Culture — "Robert Klemme" <shortcutter@...>

All,

22 messages 2008/05/07

[#300951] Check if char in string? — globalrev <skanemupp@...>

how do i do this:

31 messages 2008/05/07

[#300967] hash adding values — Tim Wolak <tim.wolak@...>

I'm trying to insert account numbers into a hash and add the balances

18 messages 2008/05/07
[#300972] Re: hash adding values — Sebastian Hungerecker <sepp2k@...> 2008/05/07

Tim Wolak wrote:

[#300973] Re: hash adding values — Tim Wolak <tim.wolak@...> 2008/05/07

Sebastian Hungerecker wrote:

[#300975] Re: hash adding values — "Craig Demyanovich" <cdemyanovich@...> 2008/05/07

Oh, you want to store the balances based on the acct. #, then you want to

[#301029] "Real" Differences Between Python & Ruby — Max Cantor <maxcantor@...>

I have a question about the difference(s) between Python and Ruby. I

20 messages 2008/05/08
[#301197] Re: "Real" Differences Between Python & Ruby — globalrev <skanemupp@...> 2008/05/08

On 8 Maj, 04:09, Phlip <phlip2...@gmail.com> wrote:

[#301296] Re: "Real" Differences Between Python & Ruby — Marc Heiler <shevegen@...> 2008/05/09

I was about to comment on something but when i read this:

[#301305] Re: "Real" Differences Between Python & Ruby — "Max Cantor" <maxcantor@...> 2008/05/09

On Fri, May 9, 2008 at 12:23 PM, Marc Heiler <shevegen@linuxmail.org> wrote:

[#301101] Why can't I redefine "<<" method to allow two parameters? — "Iñaki Baz Castillo" <ibc@...>

SGksIHZlcnkgZXhydGFuZ2U6CgoKY2xhc3MgTXlBcnJheSA8IEFycmF5CiAgYWxpYXMgb3JpZ2lu

14 messages 2008/05/08

[#301129] Comparing String with Symbol — "Iñaki Baz Castillo" <ibc@...>

SGksIGxvc3RzIG9mIFJ1YnkgbWV0aG9kcyBhbGxvdyBTdHJpbmcgb3IgU3ltYm9sIGFzIHBhcmFt

16 messages 2008/05/08

[#301204] Doing an AND in regexp char class — "Todd Benson" <caduceass@...>

This question arises out of a couple of recent threads and may or may

18 messages 2008/05/08
[#301216] Re: Doing an AND in regexp char class — "ara.t.howard" <ara.t.howard@...> 2008/05/08

[#301219] Re: Doing an AND in regexp char class — "Todd Benson" <caduceass@...> 2008/05/08

On Thu, May 8, 2008 at 6:07 PM, ara.t.howard <ara.t.howard@gmail.com> wrote:

[#301278] Delete every other value in an array — Tim Conner <crofty_james@...>

What is the best way to delete every other value in a ruby array?

18 messages 2008/05/09

[#301293] The Turing Machine (#162) — Matthew Moss <matthew.moss@...>

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

29 messages 2008/05/09

[#301439] IO#putc writing 2 bytes? — Minic Minic <cg1161@...>

Hey all, thanks for reading. Today is my first attempt at getting some

12 messages 2008/05/11

[#301525] Convert integer to array? — Nadim Kobeissi <kaepora@...>

Let's say I have:

18 messages 2008/05/12

[#301528] Handling of arrays — Clement Ow <clement.ow@...>

A snippet of my code are as follows:

15 messages 2008/05/12
[#301542] Re: Handling of arrays — "Jes俍 Gabriel y Gal疣" <jgabrielygalan@...> 2008/05/12

On Mon, May 12, 2008 at 11:00 AM, Clement Ow

[#301602] Re: Handling of arrays — Clement Ow <clement.ow@...> 2008/05/13

Jes炭s Gabriel y Gal叩n wrote:

[#301611] Re: Handling of arrays — "Jes俍 Gabriel y Gal疣" <jgabrielygalan@...> 2008/05/13

On Tue, May 13, 2008 at 5:22 AM, Clement Ow

[#301719] Re: Handling of arrays — Clement Ow <clement.ow@...> 2008/05/14

Jes炭s Gabriel y Gal叩n wrote:

[#301623] How to convert character to hexadecimal? — "Iñaki Baz Castillo" <ibc@...>

SGksIEkgd2FudCB0byBjb252ZXJ0IHNvbWUgY2hhcmFjdGVyZXMgdG8gaGV4YWRlY2ltYWw6Cgog

21 messages 2008/05/13
[#301639] Re: How to convert character to hexadecimal? — Chris Hulan <chris.hulan@...> 2008/05/13

On May 13, 9:57 am, I=F1aki Baz Castillo <i...@aliax.net> wrote:

[#301842] 40 million levenshtein distances for two long strings — John <john.d.perkins@...>

I am trying to discover similar files to reduce redundancy on a large

12 messages 2008/05/15

[#301848] 7 Ruby Programming ebook — Laurynn <surejaya@...>

Found this on free ebook site.

44 messages 2008/05/15
[#302032] Re: 7 Ruby Programming ebook — Phillip Gawlowski <cmdjackryan@...> 2008/05/16

-----BEGIN PGP SIGNED MESSAGE-----

[#302612] Re: 7 Ruby Programming ebook — Camilo <camilor@...> 2008/05/22

Pablo

[#301898] What is the bes Ruby's book for beginners? — Renato Veneroso <rveneroso@...>

Hi everybody,

20 messages 2008/05/15

[#301937] Matz: can we have rescue/else/ensure available in all blocks? — coderrr <coderrr.contact@...>

Hi Matz,

12 messages 2008/05/15

[#301992] Obfuscated Email — "Matthew Moss" <matthew.moss@...>

_If you want to ignore the introduction and just get to the task, skip down

44 messages 2008/05/16

[#302028] Monkey Patching (definition)? — Christoph Schiessl <c.schiessl@...>

For example. Look the following piece of simple Ruby Code:

12 messages 2008/05/16

[#302034] Not quite getting it. — Roger Alsing <roger.alsing@...>

Hi,

27 messages 2008/05/16
[#302079] Re: Not quite getting it. — "ara.t.howard" <ara.t.howard@...> 2008/05/16

[#302092] Re: Not quite getting it. — Florian Gilcher <flo@...> 2008/05/17

-----BEGIN PGP SIGNED MESSAGE-----

[#302109] Re: Not quite getting it. — Roger Alsing <roger.alsing@...> 2008/05/17

> class Test

[#302064] ruby 1.9 hates you and me and the encodings we rode in on so just get used to it. — DJ Jazzy Linefeed <john.d.perkins@...>

def prep_file(path)

29 messages 2008/05/16
[#353767] Re: ruby 1.9 hates you and me and the encodings we rode in on so just get used to it. — Brian Candler <b.candler@...> 2009/12/27

DJ Jazzy Linefeed wrote:

[#353868] Re: ruby 1.9 hates you and me and the encodings we rode in on so just get used to it. — Bill Kelly <billk@...> 2009/12/29

Brian Candler wrote:

[#302093] Object#select and method_missing — Bob Aman <bob@...>

class SelectTest

14 messages 2008/05/17

[#302112] Dude? — "Robert Dober" <robert.dober@...>

Dear native speakers

39 messages 2008/05/17

[#302348] Why doesn't Float() work the same as Integer()? — "Michael W. Ryder" <_mwryder@...>

In my continuing work learning Ruby while creating a Rational class I

26 messages 2008/05/19
[#302373] Re: Why doesn't Float() work the same as Integer()? — "Eric I." <rubytraining@...> 2008/05/20

On May 19, 7:44=A0pm, "Michael W. Ryder" <_mwry...@worldnet.att.net>

[#302500] Re: Why doesn't Float() work the same as Integer()? — Yukihiro Matsumoto <matz@...> 2008/05/21

Hi,

[#302412] Is Necessary for all rails employee know computer knowledge? — Michel Thapa <abcotech@...>

Hi all Is Necessary for all rails employee know computer knowledge?

15 messages 2008/05/20
[#302414] Re: Is Necessary for all rails employee know computer knowledge? — pjb@... (Pascal J. Bourguignon) 2008/05/20

Michel Thapa <abcotech@gmail.com> writes:

[#302431] Re: Is Necessary for all rails employee know computer knowledge? — Eleanor McHugh <eleanor@...> 2008/05/20

On 20 May 2008, at 13:15, Pascal J. Bourguignon wrote:

[#302477] Is there any good source for the logic behind some of the methods? — "Michael W. Ryder" <_mwryder@...>

I am trying to figure out why methods that seem to do the same thing

11 messages 2008/05/21

[#302489] Ensuring only one instance of a script is running — Daniel Berger <djberg96@...>

Hi all,

14 messages 2008/05/21

[#302565] Prevent ruby constant variables from changing? — George Wang <stdcells@...>

Hi,

36 messages 2008/05/22
[#302599] Re: Prevent ruby constant variables from changing? — Dave Bass <davebass@...> 2008/05/22

George Wang wrote:

[#302601] Re: Prevent ruby constant variables from changing? — Florian Gilcher <flo@...> 2008/05/22

-----BEGIN PGP SIGNED MESSAGE-----

[#302583] Re: Prevent ruby constant variables from changing? — Peña, Botp <botp@...> 2008/05/22

RnJvbTogR2VvcmdlIFdhbmcgW21haWx0bzpzdGRjZWxsc0B5YWhvby5jb21dIA0KIyBJcyB0aGVy

[#302604] Is rdoc (http://www.ruby-doc.org/core/) complete? — "Victor Reyes" <victor.reyes@...>

Hello Team,

10 messages 2008/05/22

[#302632] OOP in Ruby? — aidy <aidy.lewis@...>

Hi,

39 messages 2008/05/22
[#303006] Re: OOP in Ruby? — aidy <aidy.lewis@...> 2008/05/27

On May 26, 3:59 pm, luka luka <dezer...@posta.ge> wrote:

[#303023] Re: OOP in Ruby? — Huw Collingbourne <huw@...> 2008/05/27

aidy wrote:

[#303027] Re: OOP in Ruby? — "Robert Dober" <robert.dober@...> 2008/05/27

On Tue, May 27, 2008 at 2:20 PM, Huw Collingbourne <huw@darkneon.com> wrote:

[#302769] #plural? or #singular? — Mark Dodwell <seo@...>

Does anybody know an easy way to test if a word is singular or plural --

21 messages 2008/05/23
[#302807] Re: #plural? or #singular? — Dave Bass <davebass@...> 2008/05/24

There are lots of difficulties here.

[#302809] Re: #plural? or #singular? — "Robert Dober" <robert.dober@...> 2008/05/24

On Sat, May 24, 2008 at 5:08 PM, Dave Bass <davebass@musician.org> wrote:

[#302812] Re: #plural? or #singular? — "Axel Etzold" <AEtzold@...> 2008/05/24

[#302876] A simple newbie question (arrays and strings) — koichirose <koi@...>

Today I started programming in ruby.

13 messages 2008/05/25

[#302894] briefest method of generating a list of random numbers? — Boris Schmid <boris@...>

Hi all,

11 messages 2008/05/26

[#302911] Why "ABCDE"[0] returns an integer instead of 'A' ? — "Iñaki Baz Castillo" <ibc@...>

SGksIEkgY2Fubm90IHVuZGVyc3RhbmQgaG93IGEgaGlnaCBsZXZlbCBsYW5ndWFnZSBhcyBSdWJ5

12 messages 2008/05/26

[#303002] documentation for ruby? — notnorwegian@...

i think the documentation at http://www.ruby-doc.org/ is fairly

63 messages 2008/05/27
[#303021] Re: documentation for ruby? — Ron Fox <fox@...> 2008/05/27

What sort of documentation are you looking for reference? tutorial?

[#303028] Re: documentation for ruby? — "James Bracy" <waratuman86@...> 2008/05/27

I find ruby-doc to be great. But if you are looking for a tutorial, it

[#303032] Re: documentation for ruby? — "Robert Dober" <robert.dober@...> 2008/05/27

On Tue, May 27, 2008 at 2:58 PM, James Bracy <waratuman86@gmail.com> wrote:

[#303034] Re: documentation for ruby? — Mark Wilden <mark@...> 2008/05/27

On May 27, 2008, at 7:03 AM, Robert Dober wrote:

[#303037] Re: documentation for ruby? — "Victor Reyes" <victor.reyes@...> 2008/05/27

What's top or bottom posting anyway?

[#303039] Re: documentation for ruby? — "Todd Benson" <caduceass@...> 2008/05/27

This is top posting.

[#303046] Re: documentation for ruby? — Mark Wilden <mark@...> 2008/05/27

On May 27, 2008, at 7:39 AM, Todd Benson wrote:

[#303064] Re: documentation for ruby? — "Todd Benson" <caduceass@...> 2008/05/27

On Tue, May 27, 2008 at 9:53 AM, Mark Wilden <mark@mwilden.com> wrote:

[#303066] Re: documentation for ruby? — Phillip Gawlowski <cmdjackryan@...> 2008/05/27

-----BEGIN PGP SIGNED MESSAGE-----

[#303075] Re: Top-posting — Mark Wilden <mark@...> 2008/05/27

[#303077] Re: Top-posting — "Avdi Grimm" <avdi@...> 2008/05/27

My personal opinion:

[#303014] Directionality of comparasion operators — Tobias Weber <towb@...>

Hi,

11 messages 2008/05/27

[#303150] The duck's backside — Tobias Weber <towb@...>

Hi,

75 messages 2008/05/28
[#303179] Re: The duck's backside — Tobias Weber <towb@...> 2008/05/28

In article

[#303202] Re: The duck's backside — Eleanor McHugh <eleanor@...> 2008/05/28

[#303215] Re: The duck's backside — Mark Wilden <mark@...> 2008/05/28

[#303224] Re: The duck's backside — Eleanor McHugh <eleanor@...> 2008/05/28

On 28 May 2008, at 18:57, Mark Wilden wrote:

[#303236] Re: The duck's backside — Mark Wilden <mark@...> 2008/05/28

On May 28, 2008, at 11:45 AM, Eleanor McHugh wrote:

[#303240] Re: The duck's backside — David Masover <ninja@...> 2008/05/28

On Wednesday 28 May 2008 15:09:23 Mark Wilden wrote:

[#303255] Re: The duck's backside — Mark Wilden <mark@...> 2008/05/28

On May 28, 2008, at 1:44 PM, David Masover wrote:

[#303289] Re: The duck's backside — "Avdi Grimm" <avdi@...> 2008/05/29

On Wed, May 28, 2008 at 6:23 PM, Mark Wilden <mark@mwilden.com> wrote:

[#303296] Re: The duck's backside — Mark Wilden <mark@...> 2008/05/29

On May 28, 2008, at 8:59 PM, Avdi Grimm wrote:

[#303322] Re: The duck's backside — "David A. Black" <dblack@...> 2008/05/29

Hi --

[#303315] Re: The duck's backside — David Masover <ninja@...> 2008/05/29

On Thursday 29 May 2008 00:59:42 Mark Wilden wrote:

[#303170] Should I Learn Ruby as a First Language? — MRH <mauriceroman@...>

Hello Group,

64 messages 2008/05/28
[#303176] Re: Should I Learn Ruby as a First Language? — Tobias Weber <towb@...> 2008/05/28

In article

[#303183] Re: Should I Learn Ruby as a First Language? — Mark Wilden <mark@...> 2008/05/28

On May 28, 2008, at 6:01 AM, Tobias Weber wrote:

[#303222] Re: Should I Learn Ruby as a First Language? — "Kyle Schmitt" <kyleaschmitt@...> 2008/05/28

Since nobody's posted it...

[#303234] Re: Should I Learn Ruby as a First Language? — Mark Wilden <mark@...> 2008/05/28

On May 28, 2008, at 11:36 AM, Kyle Schmitt wrote:

[#303174] Merge collections of objects — John Butler <johnnybutler7@...>

Hi,

12 messages 2008/05/28

[#303253] DRb Problems with Mac OS X 10.5.3 — Kurt Schrader <kschrader@...>

It looks like the Mac OS X 10.5.3 upgrade breaks DRb when it's trying to

22 messages 2008/05/28
[#303265] Re: DRb Problems with Mac OS X 10.5.3 — Eric Ly <eric@...> 2008/05/28

I'm running into the same problem too having just upgraded. Is there a

[#303268] Re: DRb Problems with Mac OS X 10.5.3 — Kurt Schrader <kschrader@...> 2008/05/29

No solution yet, but it looks like something has changed in some

[#303293] Re: DRb Problems with Mac OS X 10.5.3 — Andy Keep <akeep@...> 2008/05/29

I've not done too much Ruby socket programming, but it seems to be that

[#303297] Re: DRb Problems with Mac OS X 10.5.3 — "Laurent Sansonetti" <laurent.sansonetti@...> 2008/05/29

Thanks for the report, we are of course very sorry about that. Ruby

[#303362] Surprising Extend — "Leslie Viljoen" <leslieviljoen@...>

Hi people

13 messages 2008/05/29

[#303398] Gems not working — Jim Hoskins <jimh@...>

I am currently not able to install any gems. I was using Gem 1.1.1 but

17 messages 2008/05/29

[#303434] How do i replace actual value in the query with variables? — Ting Chang <aumart@...>

I try to set up a loop to put the data in the array into the oracle

11 messages 2008/05/29

[#303519] getting standard error and output from ruby script in real time — Stefano Crocco <stefano.crocco@...>

I'm trying to write an editor for ruby in ruby using the KDE4 bindings for

10 messages 2008/05/30

[#303571] splitting help needed — Zoe Phoenix <dark_sgtphoenix@...>

I have a program that someone on this forum helped me fix before that

19 messages 2008/05/30
[#303573] Re: splitting help needed — Siep Korteling <s.korteling@...> 2008/05/30

Zoe Phoenix wrote:

[#303576] Price Ranges (#164) — "Matthew Moss" <matthew.moss@...>

Apologies for the late quiz... been rather busy today. Here's another simple

16 messages 2008/05/31

Re: The duck's backside

From: David Masover <ninja@...>
Date: 2008-05-29 09:14:50 UTC
List: ruby-talk #303315
On Thursday 29 May 2008 00:59:42 Mark Wilden wrote:
> On May 28, 2008, at 8:59 PM, Avdi Grimm wrote:
> 
> > On Wed, May 28, 2008 at 6:23 PM, Mark Wilden <mark@mwilden.com> wrote:
> >> Well, the desired goal is in fact to recognize objects that are  
> >> numeric. One
> >> of the purposes of classes in OOP is to categorize things.
> >
> > Not really, no.  That reflects an attitude that has more to do with
> > C++ or Java than with OOP.
> 
> I must respectfully disagree. I learned OOP (in 1989) before C++ was  
> even hardly available on PCs, much less Java. The OOP language I  
> learned was an amalgam of Smalltalk and Lisp.

That's interesting.

It's my understanding that Ruby borrows its concept of "sending messages" from 
Smalltalk, which lets us do things like #send and #method_missing.

> I can say  
> quite categorically, that in OOP, classes are ways to generalize. You  
> generalize based on characteristics and behaviors. A class is not  
> simply a random collection of methods. It would be rather useless if  
> class was unrelated to category.

I'm going to have to respectfully disagree here. Having done prototype-based 
development in JavaScript, as I understand it, it's far easier to implement a 
class-based system on top of a prototype system than the other way around.

In fact, I've seen it done, in various ways, with varying degrees of success 
and usability.

Unless you are going to have branching based on type -- that is, simple method 
overloading (as in C++ and friends) -- I don't see as much point to a rigid 
type system.

It boils down to: Why should I care whether I'm being passed a number or 
something which merely behaves like a number? Why should I care if I'm being 
passed a string or an array of characters?

Or even, why should I care if I'm being passed a real local object, or a proxy 
to a remote object? Check this out:

http://ruby-doc.org/core/classes/DRb/DRbObject.html

Now, for the simple case of a Numeric, we're probably over-analyzing it. 
There's not a huge amount of potential for replacing it with something 
Numeric-like that does the same job, and we can easily see where relying on 
to_i might (in VERY unlikely circumstances) give us something we don't want.

> But I'm finding these remarks about "attititude" kind of amusing. It's  
> like Ruby isn't a tool, it's a "mindset." We don't forgo something  
> like Numeric === v because it's _wrong_ (the OP in fact said it was  
> slightly more readable), but because Ruby has duck-typing,

Well, there is some truth to that -- as an example, Ruby completely lacks 
anything resembling the C for loop. If that's what you're expecting, you have 
to build it out of a while loop:

i=0
while i < data.length
  do_something_with data[i]
  i += 1
end

There's nothing wrong with that. But I hope most of us  forgo it in favor of:

data.each { |datum|
  do_something_with datum
}

Which ends up being more readable, among other things.

It's not absolute. There are cases where you want traditional looping 
constructs instead of Ruby iterators, and there are cases you want classes 
instead of duck typing. But these are the exception, not the rule.

I won't stop you from using Ruby if you'd rather build for loops. Maybe you'll 
get better at it:

data.length.times { |i|
  do_something_with data[i]
}

But if you do that, I don't understand why you're using Ruby. Again, nothing 
wrong with it -- do whatever makes you happy, and maybe you're right and I'm 
wrong. But I doubt I'll ever understand it.

> However, the use case  
> might be that any object with that method is fine and dandy. In that  
> case, I totally agree that checking for response to it is reasonable,  
> if not 100% reliable. But if we're looking for Fixnums, Floats, and  
> other builtin classes, then checking again Numeric seems  
> straightforward.

Can you outline a few real-world examples, where it's OK to get a descendant 
of Numeric, but not something which merely implements to_i or to_f?

> > If you want you know whether an object is in some category in an OO  
> > way, you come up with a way to ask it.
> 
> True. And often the most straightforward and fundamental way to do  
> that is to call its #class method.

Not really.

Firstly, #class doesn't provide any way to be in multiple categories. Ruby 
doesn't support multiple inheritance.

Second, given no context, there's not really any way I could override class to 
provide multiple membership. I'm either an Array or I'm a String. I can't be 
both.

(Actually, I could probably pull something incredibly sneaky by returning an 
object which pretends to be a class, and returns true when compared to other 
classes on some list -- but I think I'd have to override some methods in 
Class and/or Module to make it bulletproof.)

Now, we could meet halfway. All Numerics define #integer?, which responds True 
for Integer and Bignum, and false for everything else. Object defines #nil?, 
which is true for NilClass and false for everything else. And, worst case, 
calling the object's own #kind_of? method gives me a place to override that 
type check -- I don't believe that the Class === obj syntax allows that.

> Their power is indeed to  
> categorize and generalize objects, which can be specialized with  
> inheritance (another old school concept, I suppose).

Inheritance can be approximated in Ruby with mixins. In JavaScript, it's 
actually possible to write mixin functionality from the ground up -- create a 
new class, and define it as a collection of methods from selected other 
classes, plus a new collection you define right here.

I'm not sure I know how to implement ad-hoc prototypes and things like 
#define_method from pure inheritance semantics. I am sure I can create 
inheritance out of pure prototype semantics.

In This Thread