[Foo.new] * n # here Foo.new can be any expression that returns a new object Array.new(n, Foo.new)