Skip to content

Instantly share code, notes, and snippets.

@Kerollmops
Forked from FGRibreau/times.js
Created August 28, 2014 19:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Kerollmops/ba2bbd147ee3192efeea to your computer and use it in GitHub Desktop.
Save Kerollmops/ba2bbd147ee3192efeea to your computer and use it in GitHub Desktop.
// Ruby = 5.times { |i| puts i }
// JS = (1).times(function(i){console.log(i);})
Number.prototype.times = function(cb) {
var i = -1;
while (++i < this) {
cb(i);
}
return +this;
}
// Ruby = 1.upto(5) { |i| puts i }
// JS = (1).upto(5, function(i){console.log(i);})
Number.prototype.upto = function(t, cb) {
var i = this;
if(t < this) return +this;
while (i <= t) {
cb(i++);
}
return +this;
};
// Ruby = 15.downto(10) { |i| puts i }
// JS = (15).downto(10, function(i){console.log(i);})
Number.prototype.downto = function(t, cb) {
var i = this;
if(t > this) return +this;
while (i >= t) {
cb(i--);
}
return +this;
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment