In article <20040602114844.GA15085 / miya.intranet.ntecs.de>, Michael Neumann wrote:
[...]
>Hm, but you could replace all "method_name" methods with
>"obfuscated_method_name" (e.g. using a SHA1 hash function) and if you
>know all method names a priori, then you could use a perfect hash.  Or
>if there should be a collision, then fall back using plain method names.
>
>Obfusciating method names should be doable, and without knowing the real
>names, it's much harder to read.

This causes problems with method_missing. e.g. what happens if you obfuscate
the `foo' method in the following code:

class Foo
  def method_missing(name, *args)
    name == :foo
  end
end

a = Foo.new
puts(a.foo)

-- 
Tim Sutherland <timsuth / ihug.co.nz>
2004 SDKACM President
Software Developers' Klub - the University of Auckland ACM Student Chapter
http://www.sdkacm.com/