# Re: Creating a method like Array(object)

**URL:** <https://www.ruby-forum.com/t/re-creating-a-method-like-array-object/60260>\
**Category:** Ruby\
**Created:** [May 11, 2006, 5:54pm UTC](https://www.ruby-forum.com/t/re-creating-a-method-like-array-object/60260 "2006-05-11T17:54:52Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Gennady\_B](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/c57346/32.png) [@Gennady\_B](https://www.ruby-forum.com/u/Gennady_B)\
**Post date:** [May 11, 2006, 5:54pm UTC](https://www.ruby-forum.com/t/re-creating-a-method-like-array-object/60260/1 "2006-05-11T17:54:52Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![Gennady\_B](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/c57346/32.png) [@Gennady\_B](https://www.ruby-forum.com/u/Gennady_B)\
**Post date:** [May 11, 2006, 6:32pm UTC](https://www.ruby-forum.com/t/re-creating-a-method-like-array-object/60260/2 "2006-05-11T18:32:56Z")

</div>

On 5/11/06, Gennady B. [removed\_email\_address@domain.invalid](mailto: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
