Redefine post(), why doesn't this work?
In an attempt to create a post function that appends a newline at every call, I came up with this:
var global = this;
var __post = post;
var post = function(){
var args = Array.prototype.slice.call(arguments, 0);
__post.apply(global, args.concat('\n'));
};
This doesn't work. It generates the following error:
Javascript TypeError: __post is undefined, line 12
It does work as long as you use a different name for the post function, like this:
var log = function(){
var args = Array.prototype.slice.call(arguments, 0);
__post.apply(global, args.concat('\n'));
};
Looks like it's not really that __post is undefined, but that the assigned reference to post becomes undefined.
Just out of curiosity, why won't this work?