In Ruby, foo[bar, baz]
is just syntactic sugar for foo.[](bar, baz)
. All you need is a method named []
.
By the way: you just need to look at the documentation, e.g. for Set
:
[](*ary)
Creates a new set containing the given objects.
That's the documentation right there.
Basically, all you need is
class Foo
def self.[](*args, &block)
new(*args, &block)
end
end