[#10209] Market for XML Web stuff — Matt Sergeant <matt@...>

I'm trying to get a handle on what the size of the market for AxKit would be

15 messages 2001/02/01

[#10238] RFC: RubyVM (long) — Robert Feldt <feldt@...>

Hi,

20 messages 2001/02/01
[#10364] Re: RFC: RubyVM (long) — Mathieu Bouchard <matju@...> 2001/02/05

[#10708] Suggestion for threading model — Stephen White <spwhite@...>

I've been playing around with multi-threading. I notice that there are

11 messages 2001/02/11

[#10853] Re: RubyChangeRequest #U002: new proper name for Hash#indexes, Array#indexes — "Mike Wilson" <wmwilson01@...>

10 messages 2001/02/14

[#11037] to_s and << — "Brent Rowland" <tarod@...>

list = [1, 2.3, 'four', false]

15 messages 2001/02/18

[#11094] Re: Summary: RCR #U002 - proper new name fo r indexes — Aleksi Niemel<aleksi.niemela@...>

> On Mon, 19 Feb 2001, Yukihiro Matsumoto wrote:

12 messages 2001/02/19

[#11131] Re: Summary: RCR #U002 - proper new name fo r indexes — "Conrad Schneiker" <schneik@...>

Robert Feldt wrote:

10 messages 2001/02/19

[#11251] Programming Ruby is now online — Dave Thomas <Dave@...>

36 messages 2001/02/21

[#11469] XML-RPC and KDE — schuerig@... (Michael Schuerig)

23 messages 2001/02/24
[#11490] Re: XML-RPC and KDE — schuerig@... (Michael Schuerig) 2001/02/24

Michael Neumann <neumann@s-direktnet.de> wrote:

[#11491] Negative Reviews for Ruby and Programming Ruby — Jim Freeze <jim@...> 2001/02/24

Hi all:

[#11633] RCR: shortcut for instance variable initialization — Dave Thomas <Dave@...>

13 messages 2001/02/26

[#11652] RE: RCR: shortcut for instance variable initialization — Michael Davis <mdavis@...>

I like it!

14 messages 2001/02/27

[#11700] Starting Once Again — Ron Jeffries <ronjeffries@...>

OK, I'm starting again with Ruby. I'm just assuming that I've

31 messages 2001/02/27
[#11712] RE: Starting Once Again — "Aaron Hinni" <aaron@...> 2001/02/27

> 2. So far I think running under TextPad will be better than running

[#11726] Re: Starting Once Again — Aleksi Niemel<zak@...> 2001/02/28

On Wed, 28 Feb 2001, Aaron Hinni wrote:

[ruby-talk:11806] Re: Array bugs?

From: "Christoph Rippel" <crippel@...>
Date: 2001-02-28 19:09:58 UTC
List: ruby-talk #11806
> -----Original Message-----
> From: ts [mailto:decoux@moulon.inra.fr]
> Sent: Wednesday, February 28, 2001 02:44 AM
> To: ruby-talk ML
> Cc: ruby-talk@ruby-lang.org
> Subject: [ruby-talk:11760] Re: Array bugs?
> 
> 
> >>>>> "C" == Christoph Rippel <crippel@primenet.com> writes:
> 
> C> for hashes (you should use a recursion limited hash-value - this effects
> C> the hash value of non-recursive Arrays too (and hash-value of Hashes 
> C> them-selves) but its simpler than an ``untangled hash value'' and more 
> C> efficient (even for non-recursive Arrays).
> 
>  I've not understood, how do you define the hash value of
> 
>   a = []
>   a << a
> 
>  actually it give an error.


Not tested ...


class Fixnum
#  unsigned long int  " self << 1 "
def  wrap_by_1;  
	self[31] + (self << 1) - (self[31]<< 32)
end
end



class Object
def protected_hash(level);   hash end
end

class Array
def protected_hash (level)
	return length if level < 1
	hsh =  length	
	each do |i| 
		# in array.c this is  h = (h<<1) | (h<0 ? 1 : 0);
		hsh = (hsh.wrap_by_1) | (hsh<0 ? 1 : 0);
		hsh ^= i.protected_hash (level- 1) 
  	end
	return hsh
end
def hash
	untangled_hash 5
end
end


## Nicer variation IMO

class Object
def  is_recursive?; false end
end


class Array
def  is_recursive?; true end

def protected_hash (level)
	return length if level < 1
	hsh =  length	
	each do |i| 
		hsh = (hsh.wrap_by_1) | (hsh<0 ? 1 : 0);
		if i.is_recursive?
			hsh ^= i.protected_hash (level- 1) 
		else	
			hsh ^= i.hash
		end
  	end
	return hsh
end
def hash
	untangled_hash 5
end
end


Christoph 

In This Thread