Re: Creating a method like Array(object)


#1

What you can do, though, use [] instead of ().

class YourClass
class << self
def
p args
end
end
end

Then at least YourClass[1, 2, 3] would be available for you.

Gennady.


#2

On 5/11/06, Gennady B. removed_email_address@domain.invalid wrote:

What you can do, though, use [] instead of ().

Hi Gennady,

You can define a method with the same name as a constant as they’re in
separate namespaces, e.g.

class MyClass
def initialize(*args, &block)
p args
end
end

def MyClass(*args, &block)
MyClass.new(*args, &block)
end

o = MyClass(1,2,3)
p o
#=> #MyClass:0x2c87910

As the OP says, Array() is just a method on Kernel.

Regards,

Sean