Coffeescript is an amazing language. As a matter of fact, it’s my favorite language. Here’s some recent code I used to split up one array into a multidimensional array with a certain number of columns.
matrix.push arr[i..(i + cols - 1)] for i in [0..arr.length - 1] by cols
Notice the second to last keyword: by.
The `by` keyword basically changes the increment of the generated for loop. Without the `by`, you’d have `i++` as the increment of your for loop. However, with the `by`, you’d instead have `i += 3` if you had `by 3`.
Here’s a simple example where I am getting money out of my bank account in the form of 5 dollar bills.
console.log "I have #{i} dollars." for i in [0..100] by 5
This translates to the following Javascript:
var i;
for (i = 0; i <= 100; i += 5) {
console.log("I have " + i + " dollars.");
}
As you can see, the increment of the loop is now 5 rather than just 1.
Now the question is, are there any other hidden features of Coffeescript like this?
Liked my post? Feel free to share your post with people using one of the links below! Also, subscribe to my feed or follow me on Twitter! Thanks!





