[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: 0x102a70?
- From: PA <petite.abeille@...>
- Date: Mon, 31 Jan 2005 12:20:25 +0100
On Jan 31, 2005, at 05:27, Javier Guerra wrote:
a crude, but working hack would be to write a function that returns a
string
that would be the same for any identical table. similar in concept to
a hash
code, but without collitions and the performance issues would be
managed
transparently by the internal string hashing.
"Crudity" it is! Let the VM itself worry about all the hashing :)
-- private instance method to convert a given key to a string
local stringForKey = function( aKey )
if aKey ~= nil and type( aKey ) ~= "string" then
if this.isKindOf( aKey ) == true then
aKey = aKey.toString()
else
aKey = tostring( aKey )
end
end
return aKey
end
-- instance method to return a value for a given key
this.get = function( aKey )
if aKey ~= nil then
aKey = stringForKey( aKey )
return ivars[ aKey ]
end
return nil
end
-- instance method to associate a given value with the given key
this.put = function( aKey, aValue )
if aKey ~= nil then
aKey = stringForKey( aKey )
ivars[ aKey ] = aValue
end
return this
end
Cheers
--
PA, Onnay Equitursay
http://alt.textdrive.com/