Object.prototype['new']=function(){
    var params=[];
    var argc=arguments.length;
    for(var i=0;i<argc;i++){
        params.push('arguments['+i+']');
    }
    var code='return new this('+params.join(',')+');';
    return new Function(code).apply(this,arguments);
}

Number.new(100);//100
String.new("text");//"text"
Array.new(1,2,3);//[1,2,3]

function Person(name){
    this.name=name;
    this.toString=function(){return this.name;}
}
tom=Person.new('Tom');
joy=Person.new('Joy');
tom+" and "+joy;
-- 
Posted via http://www.ruby-forum.com/.