में हस्ताक्षर फ़ाइलें और एक्सेस संशोधक मैं हाल ही में एफ # के ऑब्जेक्ट ओरिएंटेड पहलुओं को सीखने की कोशिश कर रहा हूं, और भाषा में प्रकार/मॉड्यूल तक पहुंच प्रतिबंधित करने के बारे में उत्सुक हो गया हूं।एफ #
Example.fsi
module Stack =
val foo : string
Example.fs
module Stack =
let foo = "foo"
let bar = "bar"
और वैकल्पिक रूप से इस:
अधिक विशेष रूप से, मैं इस लेखन के बीच का अंतर जानना चाहता हूँ
module Stack =
let foo = "foo"
let private bar = "bar"
क्या वे अंत में एक ही चीज़ को पूरा नहीं करते हैं? सी # पृष्ठभूमि से आ रहा है, मैं हस्ताक्षर (एफएसआई) फ़ाइलों पर एक्सेस संशोधक का उपयोग करने के लिए बहुत इच्छुक हूं। वे अधिक बहुमुखी (उदाहरण के लिए नामस्थानों में मॉड्यूल/प्रकारों पर लागू हो सकते हैं), जबकि मुझे कोई ऐसी स्थिति नहीं है जिसमें हस्ताक्षर फाइलें कुछ संशोधित करती हैं जो मॉडिफायर तक नहीं पहुंचती हैं।
आपका उदाहरण वैसे भी काम नहीं करना चाहिए ;-) (foo _ = "bar" दें) – Dario
यह क्यों काम नहीं करना चाहिए? उदाहरण मेरे लिए ठीक संकलित करता है। – Noldorin
.fsi फ़ंक्शन को फ़ंक्शन के रूप में घोषित करता है, लेकिन फिर .fs इसे मान के रूप में परिभाषित करता है। – Brian