मैंने कॉफ़ीस्क्रिप्ट विकी में एक अनुभाग जोड़ा, नेमस्पेसिंग संभाल लें। यह बहुत elegent (मुझे लगता है कि)
https://github.com/jashkenas/coffee-script/wiki/Easy-modules-with-coffeescript
Coffeescript एक गुमनाम समारोह में सभी स्रोत कोड फ़ाइलों को संलग्न की है कि इसके बाद के संस्करण एक देशी मॉड्यूल व्यवस्था नहीं है है। हालांकि थोड़ी सी सरल चालबाजी के साथ आप मॉड्यूल कर सकते हैं जो रूबी की ईर्ष्या हैं। मैं तरह मेरे मॉड्यूल को परिभाषित नीचे
@module "foo", ->
@module "bar", ->
class @Amazing
toString: "ain't it"
मॉड्यूल सहायक के कार्यान्वयन
window.module = (name, fn)->
if not @[name]?
this[name] = {}
if not @[name].module?
@[name].module = window.module
fn.apply(this[name], [])
जो आप किसी अन्य स्रोत फ़ाइल में डाल दिया है, तो आप की तरह कर सकते हैं। इसके बाद आप अपने विशिष्ट प्रश्न के
x = new foo.bar.Amazing
wrt namespaced मॉड्यूल से अपनी कक्षाओं का उपयोग कर सकते मुझे लगता है कि नीचे चमेली कल्पना मेरी मॉड्यूल प्रणाली
@module "test", ->
hidden = 10
@open = hidden
describe "test", ->
it "has no hidden", ->
expect(test.hidden?).toEqual false
it "has open", ->
expect(test.open?).toEqual true
"जो मुख्य रूप से लूप में मूल्यों को पकड़ने के लिए मौजूद है" <असहमत। 'डू' का वह विशेष व्यवहार तर्कसंगत रूप से सबसे असंगत/भ्रमित सुविधाओं में से एक है। – matyr
Matyr, क्या आप इसे समझा सकते हैं? ऐसा कीवर्ड दिखता है जैसे यह मेरे लिए स्थानीय दायरे में मूल्यों को कैप्चर करता है। – Geoff
@matyr जब आपने शुरुआत में इसे प्रस्तावित किया था तो यह 'do' का उद्देश्य नहीं था, लेकिन निश्चित रूप से यही कारण है कि जेरेमी (अनिच्छा से) ने इसे कॉफीस्क्रिप्ट में जोड़ा। [समस्या 9 5 9] देखें (https://github.com/jashkenas/coffee-script/issues/959)। यह एकमात्र संदर्भ भी है जिसमें 'आधिकारिक दस्तावेज़] (http://jashkenas.github.com/coffee-script/#loops) में 'do' दिखाई देता है। –