OCaml
परस्पर रिकॉर्ड क्षेत्र
खोज…
परिचय
अधिकांश OCaml मानों की तरह, रिकॉर्ड डिफ़ॉल्ट रूप से अपरिवर्तनीय हैं। हालाँकि, चूंकि OCaml भी अनिवार्य प्रोग्रामिंग को हैंडल करता है, इसलिए यह अलग-अलग फ़ील्ड को म्यूट करने का एक तरीका प्रदान करता है। म्यूटेबल फ़ील्ड्स को सामान्य कार्यात्मक तकनीकों, जैसे कार्यात्मक अद्यतन का सहारा लेने के बजाय असाइनमेंट द्वारा संशोधित किया जा सकता है।
साइड-इफेक्ट्स की शुरुआत करते समय, उत्परिवर्तित क्षेत्रों का परिणाम बेहतर प्रदर्शन में हो सकता है जब सही तरीके से उपयोग किया जाता है।
परिवर्तनशील क्षेत्रों के साथ एक रिकॉर्ड की घोषणा
निम्नलिखित में, weight को एक परिवर्तनशील क्षेत्र के रूप में घोषित किया जाता है।
type person = {
name: string;
mutable weight: int
};;
टिप्पणी : जहाँ तक डिजाइन की बात है, एक person इस तथ्य पर विचार करेगा कि किसी person का नाम बदलने की संभावना नहीं है, लेकिन उनका वजन है।
उत्परिवर्तित क्षेत्रों के साथ एक रिकॉर्ड शुरू करना
उत्परिवर्तित फ़ील्ड के साथ एक रिकॉर्ड शुरू करना एक नियमित रिकॉर्ड आरंभीकरण से अलग नहीं है।
let john = { name = "John"; weight = 115 };;
एक परिवर्तनशील क्षेत्र के लिए मूल्य निर्धारित करना
एक परिवर्तनशील रिकॉर्ड फ़ील्ड में एक नया मान निर्दिष्ट करने के लिए, <- ऑपरेटर का उपयोग करें।
john.weight <- 120;;
नोट : पिछली अभिव्यक्ति में एक unit प्रकार है।