2013-11-21 11 views
7

मैं एफ # के लिए एक नया हूँ, लेकिन सी # से काफी परिचित हूं। और मैं सोच रहा था कि शीर्ष स्तर के मॉड्यूल और स्थानीय मॉड्यूल (जैसे प्रदर्शन, इत्यादि) घोषित करने के बीच कोई अंतर है, इसके अलावा शीर्ष-स्तरीय मॉड्यूल के लिए नामस्थान घोषणा की आवश्यकता नहीं है (यह मॉड्यूल घोषणा का हिस्सा है)। मुझे अन्य मतभेदों को निर्दिष्ट करने वाले दस्तावेज़ (MSDN F# Modules) में कुछ भी नहीं मिला है।क्या शीर्ष-स्तरीय मॉड्यूल और स्थानीय मॉड्यूल के बीच कोई अंतर है?

असल में, सी # दुनिया से आ रही मैं पसंद

//Version 1 
namespace My.Namespace 

module MyModule = 
    let a = 1 

से अधिक
//Version 2 
module My.Namespace.MyModule 
let a = 1 

यह देखते हुए कि दोनों संस्करणों में फ़ाइल में केवल एक ही मॉड्यूल हो जाएगा, संस्करण 2 किसी भी नुकसान (लाता है संस्करण 1 की तुलना में)?

+0

आप केवल पहले संस्करण की आवश्यकता है कि आप एक ही फाइल में –

उत्तर

6

वे समकक्ष हैं।

कार्यान्वयन फ़ाइल है कि एक मॉड्यूल घोषणा के साथ शुरू होता है एक मॉड्यूल के साथ एक एकल नाम स्थान घोषणा समूह परिभाषित करता है: # एफ 3.0 specs के अनुसार। उदाहरण के लिए:

module MyCompany.MyLibrary.MyModule 
    let x = 1 

के बराबर है:

namespace MyCompany.MyLibrary 
module MyModule = 
    let x = 1 
+1

धन्यवाद एक बहुत कई मॉड्यूल है जब, कि इसका जवाब मैं खोज रहा था था ! –

संबंधित मुद्दे