What is the most concise equivalent Coffeescript to the following:
# ruby
3.times { puts 'hi' }
?
The best I could think of is:
# coffeescript
for n in [1..3]
console.log 'hi'
What is the most concise equivalent Coffeescript to the following:
# ruby
3.times { puts 'hi' }
?
The best I could think of is:
# coffeescript
for n in [1..3]
console.log 'hi'
JavaScript arrays (at least the modern ones) have a
forEach
method and CoffeeScript[1..3]
ranges are arrays so you could do this:One warning though: this might be a bit hard on the browser if your
n
in[1..n]
is large as you'll be building a large array just to get a convenient notation; but ifn
is small then the overhead of building the array shouldn't matter that much.To also handle
0
correctly:Or with prototype magic:
Note that the second method isn't recommended because changing the
Number
prototype has global effects.Edit: Changed according to @BrianGenisio's comment (
.prototype.
->::
)Edit 2: fixed handling of 0, thanks @Brandon
Since you're already using Underscore.js along with CoffeeScript:
using lodash: