Here you can find the source of add(n)
// Description:// www . ja v a 2 s.co m // Method chaining is a very interesting way to keep your program clean. // As a part of this Kata, you need to create functions such that one could evaluate the following expression: // (3).add(5).multiply(2) // The above expression evaluates to be 16. // You need to implement the following methods: // add // subtract // multiply // divide // square // After you're done, one could chain these five methods to create chains of almost any length. // mine Number.prototype.add = function(n){ return this+n } Number.prototype.subtract = function(n){ return this-n } Number.prototype.multiply = function(n){ return this*n } Number.prototype.divide = function(n){ return this/n } Number.prototype.square = function(n){ var _ = this; return Math.pow(_,2) } // top vote solution Number.prototype.add = function(n){ return this+n } Number.prototype.subtract = function(n){ return this-n } Number.prototype.multiply = function(n){ return this*n } Number.prototype.divide = function(n){ return this/n } Number.prototype.square = function(){ return this*this }
Number.prototype.add = function () { return this + [].slice.apply(arguments).reduce(function (a, b) { "use strict"; return a + b; },0);
Number.prototype.add = function(a) { return this.valueOf() + a; }; Number.prototype.subtract = function(a) { return this.valueOf() - a; }; Number.prototype.multiply = function(a) { return this.valueOf() * a; }; ...
Number.prototype.add = function(arg){ var r1, r2, m; try{r1 = this.toString().split(".")[1].length}catch(e){r1=0} try{r2 = arg.toString().split(".")[1].length}catch(e){r2=0} m = Math.pow(10, Math.max(r1, r2)) return (this*m+arg*m)/m Number.prototype.sub = function(arg){ return this.add(-arg) ...
Number.prototype.add = function(n){ return this+n } Number.prototype.subtract = function(n){ return this-n } Number.prototype.multiply = function(n){ return this*n } Number.prototype.divide = function(n){ return this/n } Number.prototype.square = function(){ return this*this }
Number.prototype.add = function(num) { return this + num; var n = 5; assert(n.add(3) == 8, 'It works when the number is in a variable.'); assert((5).add(3) == 8, 'Also works if a number is wrapped in parentheses.'); assert(5.add(3) == 8, 'What about a simple literal?');
Number.prototype.add = function(num) return this+num; }; describe("6.13", function () { it("It works when the number is in a variable.", function () { expect(n.add(3)).toEqual(8); }); it("It works when the number is in a parentheses.", function () { ...
Number.prototype.add = function (num) { return this + num; }; Number.prototype.subtract = function (num) { return this - num; }; Number.prototype.multiply = function (num) { return this * num; }; ...