ट्रैक
/
F#
F#
/
सिलेबस
/
मूल बातें
मू

मूल बातें में F#

1 अभ्यास

मूल बातें के बारे में

F# में हर वह चीज़ जिसका कोई टाइप होता है और जिसे परिभाषित किया जा सकता है, वैल्यू कहलाती है। इसमें बूलियन, पूर्णांक और ऐरे शामिल हैं, लेकिन फंक्शन भी। पूर्णांक वैल्यू एक या अधिक (लगातार) अंकों से बनती हैं और उन पर डिफॉल्ट गणितीय ऑपरेटर लागू होते हैं।

किसी नाम को कोई वैल्यू देना बाइंडिंग कहलाता है। बाइंडिंग अपरिवर्तनीय होती हैं, इसलिए वे दूसरी भाषाओं के कॉन्स्टेंट जैसी लगती हैं। बाइंडिंग let कीवर्ड की मदद से बनाई जाती हैं।

चूँकि F# एक स्टैटिकली-टाइप्ड भाषा है, हर बाइंडिंग का एक टाइप होता है। ज़्यादातर बाइंडिंग के लिए उनका टाइप लिखना ज़रूरी नहीं है, क्योंकि F# का टाइप इन्फरेंस आमतौर पर वैल्यू देखकर टाइप का अनुमान लगा लेता है।

// Automatically inferred type
let fingers = 10

फंक्शन भी साधारण बाइंडिंग ही हैं, बस उनमें एक या अधिक पैरामीटर होते हैं। फंक्शन अपने आप अपना अंतिम एक्सप्रेशन लौटाता है। ज़्यादातर फंक्शन के लिए भी टाइप इन्फरेंस काम करता है: यह देखकर कि फंक्शन को किन वैल्यू के साथ कॉल किया जाता है और फंक्शन कौन-सी वैल्यू लौटाता है।

// Automatically inferred types for parameters and return type
let add x y = x + y

किसी फंक्शन को कॉल करने के लिए उसका नाम लिखा जाता है और उसके हर पैरामीटर के लिए एक आर्गुमेंट दिया जाता है।

let five = add 2 3

अगर किसी बाइंडिंग का टाइप अनुमान से तय न हो सके, तो कंपाइलर एरर देता है। इसे ठीक करने के लिए बाइंडिंग का टाइप साफ़-साफ़ लिख दीजिए।

// Explicit type annotation
let fingers: int = 10

// Explicit type annotation (also for parameters)
let add (x: int) (y: int): int = x + y

F# में बाइंडिंग का उपयोग उसे परिभाषित करने के बाद ही किया जा सकता है। किसी बाइंडिंग को परिभाषित करने से पहले उपयोग करने पर कंपाइल एरर मिलती है।

// Compile error as the add binding has not yet been defined
// let seven = add 3 + 4

let add x y = x + y

स्कोप तय करने में स्पेसिंग की खास भूमिका होती है। बाइंडिंग घोषित करने वाली लाइन के मुकाबले कोड को स्पेस से इंडेंट करके यह स्कोप बनाया जाता है। डिफॉल्ट तरीका चार स्पेस से इंडेंट करना है।

let toes =
    let left = 5
    let right = 5
    left + right

let multiplyPlusTwo x y =
    let product = x * y
    product + 2

// Trying to access the left, right or product bindings
// here would result in a compile error

F# की बाइंडिंग (जिनमें फंक्शन भी शामिल हैं) आमतौर पर मॉड्यूल में रखी जाती हैं। मॉड्यूल एक जैसे काम की चीज़ों को एक साथ रखता है और module कीवर्ड से बनाया जाता है। मॉड्यूल की परिभाषा उसकी बाइंडिंग से पहले आनी चाहिए:

module Calculator

let pi = 3.14

let add x y = x + y

F# दो तरह के कमेंट को सपोर्ट करता है। सिंगल लाइन कमेंट // से शुरू होते हैं, और मल्टीलाइन कमेंट (* और *) के बीच लिखे जाते हैं।

GitHub के ज़रिए संपादित करें यह लिंक नई विंडो या टैब में खुलता है।

मूल बातें सीखिए