एफ # - ट्यूपल्स
ए tupleमूल्यों का अल्पविराम से अलग संग्रह है। इनका उपयोग तदर्थ डेटा संरचनाओं को बनाने के लिए किया जाता है, जो संबंधित मूल्यों को एक साथ समूहित करते हैं।
उदाहरण के लिए, ("ज़ारा अली", "हैदराबाद", 10) दो स्ट्रिंग मूल्यों और एक इंट वैल्यू के साथ एक 3-ट्यूपल है, इसका प्रकार (स्ट्रिंग * स्ट्रिंग * इंट) है।
ट्यूपल्स एक ही या अलग-अलग प्रकार के जोड़े, ट्रिपल्स आदि हो सकते हैं।
कुछ उदाहरण यहाँ दिए गए हैं -
// Tuple of two integers.
( 4, 5 )
// Triple of strings.
( "one", "two", "three" )
// Tuple of unknown types.
( a, b )
// Tuple that has mixed types.
( "Absolute Classes", 1, 2.0 )
// Tuple of integer expressions.
( a * 4, b + 7)
उदाहरण
इस कार्यक्रम में एक फ़ंक्शन है जो चार फ्लोट मानों का एक टपल लेता है और औसत लौटाता है -
let averageFour (a, b, c, d) =
let sum = a + b + c + d
sum / 4.0
let avg:float = averageFour (4.0, 5.1, 8.0, 12.0)
printfn "Avg of four numbers: %f" avg
जब आप प्रोग्राम को संकलित और निष्पादित करते हैं, तो यह निम्न आउटपुट देता है -
Avg of four numbers: 7.275000
व्यक्तिगत टपल सदस्यों तक पहुँचना
ट्यूपल के अलग-अलग सदस्यों को पैटर्न मिलान के उपयोग से मूल्यांकन और मुद्रित किया जा सकता है।
निम्नलिखित उदाहरण अवधारणा को दर्शाता है -
उदाहरण
let display tuple1 =
match tuple1 with
| (a, b, c) -> printfn "Detail Info: %A %A %A" a b c
display ("Zara Ali", "Hyderabad", 10 )
जब आप प्रोग्राम को संकलित और निष्पादित करते हैं, तो यह निम्न आउटपुट देता है -
Detail Info: "Zara Ali" "Hyderabad" 10
F # में दो अंतर्निहित कार्य हैं, fst तथा snd, जो 2-ट्यूपल में पहले और दूसरे आइटम को लौटाता है।
निम्नलिखित उदाहरण अवधारणा को दर्शाता है -
उदाहरण
printfn "First member: %A" (fst(23, 30))
printfn "Second member: %A" (snd(23, 30))
printfn "First member: %A" (fst("Hello", "World!"))
printfn "Second member: %A" (snd("Hello", "World!"))
let nameTuple = ("Zara", "Ali")
printfn "First Name: %A" (fst nameTuple)
printfn "Second Name: %A" (snd nameTuple)
जब आप प्रोग्राम को संकलित और निष्पादित करते हैं, तो यह निम्न आउटपुट देता है -
First member: 23
Second member: 30
First member: "Hello"
Second member: "World!"
First Name: "Zara"
Second Name: "Ali"