number
v0.0.1
Published
Number utility functions. Inspired by the ruby Integer object.
Downloads
619
Readme
number
Number utility functions. Inspired by the ruby Integer object.
install
node
$ npm install --save number
component
$ component install --save jwerle/number
bower
$ bower install number
browser
<script type="text/javascript" src="https://raw.github.com/jwerle/number/master/build/build.js"></script>
<script type="text/javascript">
var number = require('number');
</script>
usage
var number = require('number');
var i = 0;
(4).times(function (n) { i = n; });
assert(i === 3);
// .downto
(5).downto(1, function (n) { i = n });
assert(i === 1);
// .upto
(5).upto(10, function (n) { i = n });
assert(i === 10);
// .next
assert((5).next === 6);
// .even
assert((1).even === false);
assert((2).even === true);
// .odd
assert((3).odd === true);
assert((4).odd === false);
// .pred
assert((3).pred === 2);
assert((4).pred === 3);
api
.extend(name, isGetter, fn)
You can extend the Number
prototype with number.extend()
name
- A string name of the function being added to theNumber
prototypeisGetter
- ABoolean
indicating whether thefn
handle is a getter functionfn
- A function handle to add to theNumber
prototype
example
Setter the isGetter
flag to true
will define the property as a getter:
number.extend('sqrt', true, function () {
return Math.sqrt(this);
});
console.log((4).sqrt); // 2
We can create a function that calculates the GCD (Greatest Common Divisor:
number.extend('gcd', function (y) {
var x = this
y = y || 0;
while (y != 0) {
var z = x % y;
x = y;
y = z;
}
return Math.abs(x);
});
(3).gcd(-7); // 1
license
MIT