var RTL$ = { makeArray: function (/*dimensions, initializer*/){ var forward = Array.prototype.slice.call(arguments); var result = new Array(forward.shift()); var i; if (forward.length == 1){ var init = forward[0]; if (typeof init == "function") for(i = 0; i < result.length; ++i) result[i] = init(); else for(i = 0; i < result.length; ++i) result[i] = init; } else for(i = 0; i < result.length; ++i) result[i] = this.makeArray.apply(this, forward); return result; }, assignArrayFromString: function (a, s){ var i; for(i = 0; i < s.length; ++i) a[i] = s.charCodeAt(i); for(i = s.length; i < a.length; ++i) a[i] = 0; }, copy: function (from, to){ for(var prop in to){ if (to.hasOwnProperty(prop)){ var v = from[prop]; if (v !== null && typeof v == "object") this.copy(v, to[prop]); else to[prop] = v; } } } }; var m = function (){ var s1 = "\""; var s2 = "ABC"; var ac3 = RTL$.makeArray(3, 0); RTL$.assignArrayFromString(ac3, s1); RTL$.assignArrayFromString(ac3, s2); RTL$.copy(ac3, ac3); }();