Обрабатывать бесконечные списки в CoffeeScript - PullRequest
6 голосов
/ 24 января 2012

В Haskell я могу сделать это для обработки бесконечного списка.

takeWhile (<1000) [1 ..]

Есть ли способ для этого в CoffeeScript?

Ответы [ 2 ]

7 голосов
/ 24 января 2012

StreamJS позволяет создавать «бесконечные» списки в JavaScript.

Использование его (грубо) coffeescript port :

# Stream.range() creates a list from 1...Infinity
numbers = Stream.range().until (x) -> x > 1000
3 голосов
/ 24 января 2012

Не так, как встроенные примитивы, но их можно взломать, как и в большинстве других языков.По крайней мере, кто-то играет с ним в CoffeeScript;см https://github.com/swannodette/fun.coffee/blob/master/src/fun.coffee.Для решений, которые кажутся менее «взломанными», вы можете прочитать о CPS и о поддержке правильных оконечных вызовов, см. http://blog.mozilla.com/dherman/2011/01/30/proper-tail-calls-in-harmony/.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...