[#380721] Can you search in REXML by attributes? — "Kyle X." <haebooty@...>

Hello and thank you to all the wonderful and helpful people at this

19 messages 2011/04/01
[#380737] Re: Can you search in REXML by attributes? — Robert Klemme <shortcutter@...> 2011/04/01

On Fri, Apr 1, 2011 at 2:53 AM, Kyle X. <haebooty@yahoo.com> wrote:

[#380755] Re: Can you search in REXML by attributes? — "Kyle X." <haebooty@...> 2011/04/01

Robert K. wrote in post #990336:

[#380762] Searching a CSV file - beginner seeking help — Simon Harrison <simon@...>

Hi all. I've written a little script to search a csv file for films. It

10 messages 2011/04/01

[#380843] Using grep on subarrays - help! — Simon Harrison <simon@...>

Can anyone help with this? I thought grep would find any element that

12 messages 2011/04/03

[#380849] Splitting each_cons? — Simon Harrison <simon@...>

I'm not sure if each_cons can do what I'm trying to achieve:

13 messages 2011/04/03

[#380883] pipe question — wolf volpi <wolf_volpi@...>

What does the pipe in this example do?

15 messages 2011/04/04

[#380949] functional languages -- any recommendations? — 7stud -- <bbxx789_05ss@...>

Haskell, Scala, or Erlang? Which one is the best?

18 messages 2011/04/05

[#380977] Separate new lines from an output — "Leo M." <leo.mmcm@...>

Hello!

12 messages 2011/04/05

[#381015] Match a pattern multiple times, returning matches, captures and offset? — Markus Fischer <markus@...>

Hi,

10 messages 2011/04/05

[#381035] capture the output of a grandchild — Chandan Bansal <chandan89@...>

hi

12 messages 2011/04/06

[#381075] Hello — Moises Montenegro <moemonty@...>

Hello,

43 messages 2011/04/06
[#381086] Re: Hello — James Nathan <badlands_2004@...> 2011/04/07

hello I am trying to get it stated myself, but I am not sure if I am setting Ruby up right.

[#381155] Re: Hello — James Nathan <badlands_2004@...> 2011/04/08

I am having a hard time to get it up and running. that is Ruby and Ruby on Rails. it seems that no one is willing to help so that we can enjoy this porgram. If their anyway that I can get it downloaded to me, some help to make sure that have the right porgrams.

[#381263] Re: Hello — James Nathan <badlands_2004@...> 2011/04/10

does the Free Ride program for Ruby the command program that I need to run and write my program?

[#381308] Re: Hello — James Nathan <badlands_2004@...> 2011/04/11

is there a disk that we can seen off and use. so that we can all the parts of ruby and ruby on rails. I would like this disk.

[#381313] Re: Hello — jake kaiden <jakekaiden@...> 2011/04/11

James Nathan wrote in post #992175:

[#381314] Re: Hello — Vincent Manis <vmanis@...> 2011/04/11

On 2011-04-11, at 16:50, jake kaiden wrote:

[#381322] Re: Hello — James Nathan <badlands_2004@...> 2011/04/12

I will just give up on Ruby and Ruby on Rails for now=20

[#381347] Re: Hello — James Nathan <badlands_2004@...> 2011/04/12

No, I will try another program to learn to write a program. Ruby is just to=

[#381351] Re: Hello — Phillip Gawlowski <cmdjackryan@...> 2011/04/12

On Tue, Apr 12, 2011 at 3:27 PM, James Nathan <badlands_2004@yahoo.com> wrote:

[#381358] Re: Hello — Martin DeMello <martindemello@...> 2011/04/12

On Tue, Apr 12, 2011 at 7:59 PM, Phillip Gawlowski

[#381087] Hash Surprises with Fixnum, #hash, and #eql? — Clifford Heath <no@...>

Folk,

44 messages 2011/04/07
[#381099] Re: Hash Surprises with Fixnum, #hash, and #eql? — Robert Klemme <shortcutter@...> 2011/04/07

On Thu, Apr 7, 2011 at 6:05 AM, Clifford Heath <no@spam.please.net> wrote:

[#381107] Re: Hash Surprises with Fixnum, #hash, and #eql? — Phillip Gawlowski <cmdjackryan@...> 2011/04/07

On Thu, Apr 7, 2011 at 11:19 AM, Robert Klemme

[#381109] Re: Hash Surprises with Fixnum, #hash, and #eql? — Robert Klemme <shortcutter@...> 2011/04/07

On Thu, Apr 7, 2011 at 1:20 PM, Phillip Gawlowski

[#381115] Re: Hash Surprises with Fixnum, #hash, and #eql? — Phillip Gawlowski <cmdjackryan@...> 2011/04/07

On Thu, Apr 7, 2011 at 1:53 PM, Robert Klemme

[#381182] Re: Hash Surprises with Fixnum, #hash, and #eql? — Clifford Heath <no@...> 2011/04/08

On 04/07/11 19:19, Robert Klemme wrote:

[#381187] Re: Hash Surprises with Fixnum, #hash, and #eql? — Robert Klemme <shortcutter@...> 2011/04/08

On Fri, Apr 8, 2011 at 9:30 AM, Clifford Heath <no@spam.please.net> wrote:

[#381233] Re: Hash Surprises with Fixnum, #hash, and #eql? — Clifford Heath <no@...> 2011/04/09

On 04/08/11 20:12, Robert Klemme wrote:

[#381269] Re: Hash Surprises with Fixnum, #hash, and #eql? — Charles Oliver Nutter <headius@...> 2011/04/11

Top-replying with a general observation: you can't please everyone all the =

[#381274] Re: Hash Surprises with Fixnum, #hash, and #eql? — Clifford Heath <no@...> 2011/04/11

On 04/11/11 10:02, Charles Oliver Nutter wrote:

[#381337] Re: Hash Surprises with Fixnum, #hash, and #eql? — Robert Klemme <shortcutter@...> 2011/04/12

On Mon, Apr 11, 2011 at 5:20 AM, Clifford Heath <no@spam.please.net> wrote:

[#381393] Re: Hash Surprises with Fixnum, #hash, and #eql? — Clifford Heath <no@...> 2011/04/13

On 04/12/11 19:09, Robert Klemme wrote:

[#381399] Re: Hash Surprises with Fixnum, #hash, and #eql? — Charles Oliver Nutter <headius@...> 2011/04/13

On Tue, Apr 12, 2011 at 9:05 PM, Clifford Heath <no@spam.please.net> wrote:

[#381402] Re: Hash Surprises with Fixnum, #hash, and #eql? — Clifford Heath <no@...> 2011/04/13

On 04/13/11 15:51, Charles Oliver Nutter wrote:

[#381416] Re: Hash Surprises with Fixnum, #hash, and #eql? — Charles Oliver Nutter <headius@...> 2011/04/13

On Wed, Apr 13, 2011 at 1:35 AM, Clifford Heath <no@spam.please.net> wrote:

[#381469] Re: Hash Surprises with Fixnum, #hash, and #eql? — Clifford Heath <no@...> 2011/04/13

On 04/13/11 22:23, Charles Oliver Nutter wrote:

[#381506] Re: Hash Surprises with Fixnum, #hash, and #eql? — Charles Oliver Nutter <headius@...> 2011/04/14

On Wed, Apr 13, 2011 at 4:40 PM, Clifford Heath <no@spam.please.net> wrote:

[#381510] Re: Hash Surprises with Fixnum, #hash, and #eql? — Clifford Heath <no@...> 2011/04/14

On 04/14/11 15:36, Charles Oliver Nutter wrote:

[#381876] Re: Hash Surprises with Fixnum, #hash, and #eql? — Charles Oliver Nutter <headius@...> 2011/04/19

On Thu, Apr 14, 2011 at 12:55 AM, Clifford Heath <no@spam.please.net> wrote=

[#381970] Re: Hash Surprises with Fixnum, #hash, and #eql? — Clifford Heath <no@...> 2011/04/21

Charles,

[#381090] can we use direct ruby instaed of javascript ? — Sniper Abandon <sathish.salem.1984@...>

Hi Ninjas,

29 messages 2011/04/07
[#381113] Re: can we use direct ruby instaed of javascript ? — Peter Zotov <whitequark@...> 2011/04/07

On Thu, 7 Apr 2011 15:44:50 +0900, Sniper Abandon wrote:

[#381136] Re: can we use direct ruby instaed of javascript ? — Chad Perrin <code@...> 2011/04/07

On Thu, Apr 07, 2011 at 09:50:14PM +0900, Peter Zotov wrote:

[#381147] Re: can we use direct ruby instaed of javascript ? — Peter Zotov <whitequark@...> 2011/04/07

On Fri, 8 Apr 2011 01:48:58 +0900, Chad Perrin wrote:

[#381160] Re: can we use direct ruby instaed of javascript ? — Chad Perrin <code@...> 2011/04/08

On Fri, Apr 08, 2011 at 05:37:49AM +0900, Peter Zotov wrote:

[#381167] Re: can we use direct ruby instaed of javascript ? — Julian Leviston <julian@...> 2011/04/08

I think it might be actually quite interesting for the original poster =

[#381195] Re: can we use direct ruby instaed of javascript ? — Josh Cheek <josh.cheek@...> 2011/04/08

On Thu, Apr 7, 2011 at 11:46 PM, Julian Leviston <julian@coretech.net.au>wrote:

[#381125] String.gsub with regex and block — Alexey Petrushin <axyd80@...>

Probably a stupid question, but is there a way to use :gsub replacement

12 messages 2011/04/07

[#381210] Calling to_enum on a MatchData object — Vahagn Hayrapetyan <vahagnh@...>

Hi, I have the following snippet of code:

15 messages 2011/04/08

[#381281] Copying parameters to singleton class — Lars Olsson <lasso@...>

Hi list!

23 messages 2011/04/11

[#381306] Creating a full application with Ruby — Fily Salas <fs_tigre@...>

Hi,

22 messages 2011/04/11

[#381355] Ruby for beginners (was: Re: Hello) — Phillip Gawlowski <cmdjackryan@...>

On Tue, Apr 12, 2011 at 5:08 PM, Vincent Manis <vmanis@telus.net> wrote:

37 messages 2011/04/12
[#381365] Re: Ruby for beginners (was: Re: Hello) — andrew mcelroy <sophrinix@...> 2011/04/12

On Tue, Apr 12, 2011 at 10:30 AM, Phillip Gawlowski <

[#381373] Re: Ruby for beginners (was: Re: Hello) — Phillip Gawlowski <cmdjackryan@...> 2011/04/12

On Tue, Apr 12, 2011 at 7:48 PM, andrew mcelroy <sophrinix@gmail.com> wrote:

[#381388] Re: Ruby for beginners (was: Re: Hello) — Vincent Manis <vmanis@...> 2011/04/13

OK, so here's another kick at the can.=20

[#381420] Re: Ruby for beginners (was: Re: Hello) — Josh Cheek <josh.cheek@...> 2011/04/13

On Tue, Apr 12, 2011 at 8:30 PM, Vincent Manis <vmanis@telus.net> wrote:

[#381430] Re: Ruby for beginners (was: Re: Hello) — Vincent Manis <vmanis@...> 2011/04/13

On 2011-04-13, at 05:59, Josh Cheek wrote:

[#381434] Re: Ruby for beginners (was: Re: Hello) — Phillip Gawlowski <cmdjackryan@...> 2011/04/13

On Wed, Apr 13, 2011 at 4:48 PM, Vincent Manis <vmanis@telus.net> wrote:

[#381487] Re: Ruby for beginners (was: Re: Hello) — Vincent Manis <vmanis@...> 2011/04/14

On 2011-04-13, at 08:03, Phillip Gawlowski wrote:

[#381495] Re: Ruby for beginners (was: Re: Hello) — Chad Perrin <code@...> 2011/04/14

On Thu, Apr 14, 2011 at 10:35:42AM +0900, Vincent Manis wrote:

[#381530] Re: Ruby for beginners (was: Re: Hello) — Phillip Gawlowski <cmdjackryan@...> 2011/04/14

On Thu, Apr 14, 2011 at 5:03 AM, Chad Perrin <code@apotheon.net> wrote:

[#381423] so, who's writing a dedicated ruby ide? — Martin DeMello <martindemello@...>

The recent thread on newbie-friendliness and a "ruby in a box" IDE

11 messages 2011/04/13

[#381444] Tk : non blocking Tk.mainloop — Juju SL <jujusl@...>

Hi all,

21 messages 2011/04/13

[#381547] Running Ruby script in emacs — duke <sidney.reilley.ii@...>

Hey ...

14 messages 2011/04/14

[#381548] To Yield or Not to Yield: An Inferable Question — Michael Edgar <adgar@...>

Hi Rubyists,

14 messages 2011/04/14

[#381562] What do you do when you need to attach data to an object instance? — "Aaron D. Gifford" <astounding@...>

What do you do when you see a need to be able to attach some data to

17 messages 2011/04/14
[#381566] Re: What do you do when you need to attach data to an object instance? — Kevin Mahler <kevin.mahler@...> 2011/04/14

Aaron D. Gifford wrote in post #992841:

[#381573] Re: What do you do when you need to attach data to an object instance? — "Aaron D. Gifford" <astounding@...> 2011/04/14

On Thu, Apr 14, 2011 at 3:11 PM, Kevin Mahler <kevin.mahler@yahoo.com> wrot=

[#381582] Re: What do you do when you need to attach data to an object instance? — "Aaron D. Gifford" <astounding@...> 2011/04/14

> On Thu, Apr 14, 2011 at 3:11 PM, Kevin Mahler <kevin.mahler@yahoo.com> wrote:

[#381596] Re: What do you do when you need to attach data to an object instance? — Kevin Mahler <kevin.mahler@...> 2011/04/15

Aaron D. Gifford wrote in post #992887:

[#381567] Re: Chad Perrin — Everett L Williams II <rett@...>

*Hasn't anybody in the management of this forum the guts to either quiet

16 messages 2011/04/14

[#381605] looking for an "inversion" pattern — Fearless Fool <r@...>

I'm sure there's a clean way to do this in Ruby, but I haven't figured

13 messages 2011/04/15

[#381622] Get the real object in a Hash key — Iñaki Baz Castillo <ibc@...>

Hi, let's suppose this simple code in which I add internal attributes

14 messages 2011/04/15
[#381623] Re: Get the real object in a Hash key — Robert Klemme <shortcutter@...> 2011/04/15

On Fri, Apr 15, 2011 at 2:50 PM, I=F1aki Baz Castillo <ibc@aliax.net> wrote=

[#381626] Re: Get the real object in a Hash key — Iñaki Baz Castillo <ibc@...> 2011/04/15

2011/4/15 Robert Klemme <shortcutter@googlemail.com>:

[#381644] Extract a range i.e. svr[100..130] ? — Richard Sandoval <skolopen@...>

What best method could extract the range of a given list of servers?

13 messages 2011/04/15

[#381742] Telnet "More?" — "Eric T." <erictetz@...>

I'm trying to use the telnet library. I don't know Ruby AT ALL

15 messages 2011/04/17

[#381768] Tail Call Optimization (Tail Recursion) — Terry Michaels <cmhoward@...>

I did some googling to find out if Ruby supports tail call optimization,

18 messages 2011/04/18

[#381781] Need for speed -> a C extension? — Martin Hansen <mail@...>

Hello all,

28 messages 2011/04/18
[#381788] Re: Need for speed -> a C extension? — "WJ" <w_a_x_man@...> 2011/04/18

Martin Hansen wrote:

[#381792] Re: Need for speed -> a C extension? — Martin Hansen <mail@...> 2011/04/18

WJ wrote in post #993576:

[#381794] Re: Need for speed -> a C extension? — Ryan Davis <ryand-ruby@...> 2011/04/18

[#381836] Re: Need for speed -> a C extension? — Martin Hansen <mail@...> 2011/04/19

>> def match?(char1, char2)

[#381849] Re: Need for speed -> a C extension? — brabuhr@... 2011/04/19

On Tue, Apr 19, 2011 at 6:30 AM, Martin Hansen <mail@maasha.dk> wrote:

[#381853] Re: Need for speed -> a C extension? — Martin Hansen <mail@...> 2011/04/19

unknown wrote in post #993757:

[#381822] anonymous closures with Proc,new, lambda and -> — Stu <stu@...>

I am new to the study of functional paradigm. If this question is academic

32 messages 2011/04/19
[#381829] Re: anonymous closures with Proc,new, lambda and -> — Brian Candler <b.candler@...> 2011/04/19

Stu wrote in post #993687:

[#381830] Re: anonymous closures with Proc,new, lambda and -> — Brian Candler <b.candler@...> 2011/04/19

Brian Candler wrote in post #993704:

[#381875] Re: anonymous closures with Proc,new, lambda and -> — Stu <stu@...> 2011/04/19

how would i break it down to two functions?

[#381884] Re: anonymous closures with Proc,new, lambda and -> — 7stud -- <bbxx789_05ss@...> 2011/04/20

Stu wrote in post #993854:

[#381890] Re: anonymous closures with Proc,new, lambda and -> — Stu <stu@...> 2011/04/20

Lots of helpful information in this thread. Thank you all for helping me.

[#381942] Re: anonymous closures with Proc,new, lambda and -> — 7stud -- <bbxx789_05ss@...> 2011/04/20

Stu wrote in post #993922:

[#381946] Re: anonymous closures with Proc,new, lambda and -> — Steve Klabnik <steve@...> 2011/04/20

Naw, monads are actually really, really easy. They're just poorly

[#381952] Re: anonymous closures with Proc,new, lambda and -> — Brian Candler <b.candler@...> 2011/04/20

Steve Klabnik wrote in post #994098:

[#381958] On the Capitalization of Project Files — Intransition <transfire@...>

I have noticed a trend with regards to the case of project files. In

10 messages 2011/04/20

[#382043] Reversing a string without using array, classes and reverse function — Rubist Rohit <passionate_programmer@...>

I am trying this:

20 messages 2011/04/22

[#382092] How to split dot “.” only before equal “=” — Sira PS <ploy.sukachai@...>

I need to split dot only before equal to assign to hash

10 messages 2011/04/23

[#382156] Replace any multiple whitespaces with single white space — Michelle Pace <michelle@...>

Hello, I need to make the first string below into the second string.

10 messages 2011/04/25

[#382264] File position and buffers — Cee Joe <cyril_jose@...>

Hi all,

22 messages 2011/04/27

[#382292] Is everything object ? — "amir e." <aef1370@...>

Hi

35 messages 2011/04/28
[#382296] Re: Is everything object ? — Josh Cheek <josh.cheek@...> 2011/04/28

On Thu, Apr 28, 2011 at 4:48 AM, amir e. <aef1370@gmail.com> wrote:

[#382306] Re: Is everything object ? — Chad Perrin <code@...> 2011/04/28

On Thu, Apr 28, 2011 at 08:52:35PM +0900, Josh Cheek wrote:

[#382318] Re: Is everything object ? — Josh Cheek <josh.cheek@...> 2011/04/28

On Thu, Apr 28, 2011 at 10:12 AM, Chad Perrin <code@apotheon.net> wrote:

[#382334] Re: Is everything object ? — Chad Perrin <code@...> 2011/04/28

On Fri, Apr 29, 2011 at 02:23:32AM +0900, Josh Cheek wrote:

[#382347] Re: Is everything object ? — Josh Cheek <josh.cheek@...> 2011/04/28

On Thu, Apr 28, 2011 at 3:22 PM, Chad Perrin <code@apotheon.net> wrote:

[#382356] Re: Is everything object ? — Chad Perrin <code@...> 2011/04/29

On Fri, Apr 29, 2011 at 08:39:14AM +0900, Josh Cheek wrote:

[#382361] Re: Is everything object ? — Josh Cheek <josh.cheek@...> 2011/04/29

On Thu, Apr 28, 2011 at 10:40 PM, Chad Perrin <code@apotheon.net> wrote:

[#382395] Re: Is everything object ? — Chad Perrin <code@...> 2011/04/29

On Fri, Apr 29, 2011 at 01:09:25PM +0900, Josh Cheek wrote:

[#382416] Re: Is everything object ? — Josh Cheek <josh.cheek@...> 2011/04/29

On Fri, Apr 29, 2011 at 2:37 PM, Chad Perrin <code@apotheon.net> wrote:

[#382429] Re: Is everything object ? — Chad Perrin <code@...> 2011/04/30

On Sat, Apr 30, 2011 at 08:01:48AM +0900, Josh Cheek wrote:

[#382310] Initialize Struct from Hash — Brian Candler <b.candler@...>

I just want to check I've not missed something here. Is there a built-in

10 messages 2011/04/28

[#382312] calling methods, beginner help — Ronnie Aa <liquid98@...>

Hello Guys,

13 messages 2011/04/28

[#382350] Ruby Beginner Need Help.. — Didin Ibnu Sarnan <didinna@...>

Hi,

18 messages 2011/04/29
[#382352] Re: Ruby Beginner Need Help.. — 7stud -- <bbxx789_05ss@...> 2011/04/29

Didin Ibnu Sarnan wrote in post #995669:

[#382354] Re: Ruby Beginner Need Help.. — Didin Ibnu Sarnan <didinna@...> 2011/04/29

Hi,

[#382401] How do I read HTTP POST XML sent to CGI? — Ting Chang <aumart@...>

Hello Ruby Masters,

14 messages 2011/04/29

[#382452] Why defining a constant in a method is not allowed but using self.class.const_set is allowed? — Iñaki Baz Castillo <ibc@...>

Hi, assinging a value to a constant within a method is not allowed

14 messages 2011/04/30
[#382454] Re: Why defining a constant in a method is not allowed but using self.class.const_set is allowed? — Robert Klemme <shortcutter@...> 2011/04/30

On 30.04.2011 21:25, I=F1aki Baz Castillo wrote:

[#382456] Re: Why defining a constant in a method is not allowed but using self.class.const_set is allowed? — Iñaki Baz Castillo <ibc@...> 2011/04/30

2011/4/30 Robert Klemme <shortcutter@googlemail.com>:

[#382465] Re: Why defining a constant in a method is not allowed but using self.class.const_set is allowed? — Christopher Dicely <cmdicely@...> 2011/04/30

On Sat, Apr 30, 2011 at 12:58 PM, I=C3=B1aki Baz Castillo <ibc@aliax.net> w=

[#382466] Re: Why defining a constant in a method is not allowed but using self.class.const_set is allowed? — Iñaki Baz Castillo <ibc@...> 2011/04/30

2011/5/1 Christopher Dicely <cmdicely@gmail.com>:

Re: Hash Surprises with Fixnum, #hash, and #eql?

From: Clifford Heath <no@...>
Date: 2011-04-08 07:30:34 UTC
List: ruby-talk #381182
On 04/07/11 19:19, Robert Klemme wrote:
> On Thu, Apr 7, 2011 at 6:05 AM, Clifford Heath<no@spam.please.net>  wrote:
>> I have a class which delegates for Integer, and wants to behave as much
>> like a real Integer as possible (except for being able to be subclassed).
> There's still a lot missing for a number replacement.  Please see
> http://blog.rubybestpractices.com/posts/rklemme/019-Complete_Numeric_Class.html

Yes, you wrote that about the time we discussed it last time.

> I also doubt whether it is a good idea to allow for subclassing of an
> integer like class.  What use case do you have in mind which would
> make this necessary?

What's wrong with the case you use in that blog post? But as it turns out,
I'm implementing a fact-based modeling DSL, where it's sensible to have
classes like "AgeInYears" being a subclass of an integer like class.
The formalism for this comes directly from sorted first-order logic,
which makes a good deal more sense than the broken O-O paradigm discussed
elsewhere in this thread.

I suspect that you "doubt it is a good idea" only because Ruby's object
model for numbers is inconsistent, and you're defensive about that. Not
because Ruby 2.0 shouldn't move in the direction of fixing it, where
possible. (BTW, I tried to join Ruby Core to discuss this, but all
possible means of subscription are silently failing me).

Note that I'm not actually subclassing any core integer class. I'm just
defining a new base class "Int" which contains an integer, and so far
as is possible, acts like one, including being found in a Hash using a
Fixnum/Bignum key.

If Fixnum and Bignum can act like Integer subclasses, why can't my class?

>> In particular, the Hash implementations work (and break!) differently in
>> MRI, Rubinius and JRuby. It's documented to use only #hash and #eql?,
>> but that's not always true (sometimes these have hard-wired optimsations).
> When you violate contracts you cannot expect code to work properly.

I have not violated that (unstated!) contract. Read again; I redefine
Fixnum#eql? as self.orig_eql?(i.to_i) - the to_i makes it symmetrical.
(Debate the wisdom if you wish, it's just for demonstration purposes.)

However the Ruby interpreters do not honor that. In short, *all three*
mentioned Ruby interpreters violate the Hash contract, which states that
hash and eql? are used for Hash lookups. Not just sometimes, but all the
time, including for integers.

MRI uses a Fixnum as its own hash value, even if you've monkey-patched a
hash method into Fixnum. This optimisation should not be always-on. Instead,
Ruby should detect when Fixnum has been patched, and bypass the optimisation.
That would require a single test and branch, with insignificant impact on
performance. MRI does however use a monkey-patched Fixnum#eql? method.

Rubinius does the opposite. It calls a patched Fixnum#hash, but not Fixnum#eql?

JRuby calls neither.

The Ruby interpreters should behave the way the Hash documentation says they do.

The Ruby documentation should explicitly state that eql? must be defined
symmetrically, or should require that the Hash implementation uses it only
in a known direction or both.

>> The Hash documentation does not say whether #eql? will be called only on
>> items in the hash, or only on keys being used to probe the hash. It should
>> be one or the other, since a.eql?(b) might not always mean b.eql?(a).
>
> But that is the contract as far as I can see.

That's not documented anywhere I can see. Certainly not in TRPL, see sections
3.4.2 on page 68, and section 3.8.5.3 page 77. It makes sense, but it's not
stated.

>  Having different
> results for both violates the equivalence relation which means all
> bets are off.

No. I can fix the asymmetry. I can't make the interpreters honor that fix.

>> You'll see that the behaviour is very unpredictable.
> Yes, because of your violation of the contract.

No. Because the Ruby interpreters don't honor the Hash contract.

Please try to read more carefully.

Clifford Heath.

In This Thread