Javaとかやった後にRubyを触ってうっかりnewを先にタイプしてしまうときに…
module Kernel
def new(const, *args, &block)
const.__send__ :new, *args, &block
end
end
arr = new Array
#=> []
arr = new Array, 3
#=> [nil, nil, nil]
arr = new(Array, 3) {|i| i = 0 }
引数がないケースであれば見た目的に問題ないけど、やっぱり引数がついたりブロックがつくとつらい…。