В JavaScript можно было бы определить закрытую переменную, сделав его локальную переменную в функцию, которая возвращает замыкание:Использование закрытия для частных переменных в CoffeeScript
var count = (function(){
var i = 0;
return function(){ return i++; }
})();
Это предполагает определить-функция-затем call-it идиома, которая довольно распространена в JavaScript, но я не знаю, как это переводится в CoffeeScript. Есть идеи?
Работает даже без «делать», работающий один лайнер будет 'Count = -> я = 0; -> i ++ ' –
@JacobOscarson Нет, это не так ... Если вы не выполняете' do' и вызываете 'count()', он возвращает функцию. Если вы включаете 'do' и вызываете' count() ', он возвращает целое число. –
Ах, да, я думал, что ему нужен генератор счетчиков. –