पृष्ठभूमि के लिए ले कर जाता है पारित करने के लिए क्या है। Scott's post के बाद मैंने एक दुभाषिया लिखा। मोड़ यह है कि मेरा दुभाषिया सामान्य और पैरामीट्रिज्ड है जो आप इसे खिलाते हैं उसके आधार पर।सबसे अच्छा तरीका सामान्य समारोह है कि कई प्रकार के
परीक्षण प्रयोजनों के लिए मैं में एक और दुभाषिया पारित करने के लिए चाहते हैं, और उसमें रगड़ निहित है - मैं कैसे कर सकते हैं?
let y f =
let a = f 1
let b = f 2L
(a,b)
f
मेरी सामान्य दुभाषिया है, लेकिन यहाँ यह स्पष्ट रूप से int -> 'a
करने के लिए पहले प्रयोग के द्वारा विवश है: यहाँ समस्या के सरलीकृत रूपरेखा है। इस सरल परिदृश्य में मैं सिर्फ दो बार दुभाषिया गुजारें सकता, लेकिन मेरी वास्तविक क्रियान्वयन में टाइप अंतरिक्ष बल्कि बड़े (आधार प्रकार x3 उत्पादन प्रकार) है।
वहाँ कुछ एफ # तंत्र है कि मुझे ऐसा करते हैं, w/ओ बहुत अधिक भूमि के ऊपर दिया जाएगा है?
आप एक ही विधि के साथ प्रकारों का उपयोग कर सकते हैं, प्रतिनिधियों के समान कुछ लेकिन स्थिर। अगर मैं चाहता हूं कि मैं आपको कैसे दिखा सकता हूं। दूसरा विकल्प इंटरफेस के साथ है जैसा कि @fyodorsoikin – Gustavo
द्वारा उत्तर में दिखाया गया है आप एक स्थिर प्रकार और/या विधि का उपयोग नहीं कर सकते हैं। इसे तर्क के रूप में पारित करने में सक्षम नहीं होगा। –
हां, आप कर सकते हैं। मैं एक उदाहरण दिखाऊंगा कि कैसे। – Gustavo