2012-01-24 4 views
6

में अनंत सूची को संभाल लें हास्केल में मैं एक अनंत सूची को संभालने के लिए ऐसा कर सकता हूं।कॉफीस्क्रिप्ट

takeWhile (<1000) [1 ..] 

क्या कॉफीस्क्रिप्ट में इसका कोई तरीका है?

+2

ध्यान दें कि ', 2' कि कोड में अनावश्यक है। –

उत्तर

7

StreamJS जावास्क्रिप्ट में 'अनंत' सूचियों के निर्माण को सक्षम बनाता है।

का उपयोग करते हुए यह (किसी न किसी तरह) है coffeescript port:

# Stream.range() creates a list from 1...Infinity 
numbers = Stream.range().until (x) -> x > 1000 
+1

स्ट्रीम जेएस साइट पर एसआईसीपी [धाराओं पर अनुभाग] से लिंक करें (http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-24.html#%_sec_3.5)। – hugomg

3

प्राइमेटिव में निर्मित नहीं है, लेकिन उन्हें अन्य भाषाओं में जैसे ही हैक किया जा सकता है। कम से कम कोई कॉफीस्क्रिप्ट में इसके साथ घूम रहा है; https://github.com/swannodette/fun.coffee/blob/master/src/fun.coffee देखें। उन समाधानों के लिए जो "हैक इन" कम लगते हैं, आप शायद सीपीएस पर पढ़ना चाहें और उचित पूंछ कॉल के लिए समर्थन कर सकें, http://blog.mozilla.com/dherman/2011/01/30/proper-tail-calls-in-harmony/ देखें।