खोज…


वाक्य - विन्यास

  • ArrayNew (आयाम, isSynchronized)

पैरामीटर

नाम विवरण
आयाम नए सरणी में आयामों की संख्या: 1, 2, या 3
isSynchronized जब गलत होता है , तो एक असंबद्ध सरणी बनाता है, जब सही होता है , तो फ़ंक्शन एक सिंक्रनाइज़ेशन सरणी देता है।

टिप्पणियों

एक सिंक्रनाइज़ेशन सरणी में, दो से अधिक थ्रेड्स एक साथ सरणी तक नहीं पहुँच सकते। अन्य थ्रेड्स को तब तक इंतजार करना पड़ता है जब तक कि सक्रिय धागा अपना काम पूरा नहीं कर लेता, जिसके परिणामस्वरूप महत्वपूर्ण प्रदर्शन होता है।

2016 के कोल्डफ्यूजन रिलीज में, आप एक अनसिंक्रनाइज़्ड ऐरे का उपयोग कर सकते हैं और कई थ्रेड्स को एक ही एरे ऑब्जेक्ट पर एक साथ एक्सेस कर सकते हैं।

ऐरे बनाना

ArrayNew () का उपयोग करके स्पष्ट रूप से सरणियाँ बनाना

ArrayNew फ़ंक्शन के साथ एक सरणी घोषित करें। एक तर्क के रूप में आयामों की संख्या निर्दिष्ट करें।

  • ArrayNew ( आयाम ) एक 3-3 आयामों की एक सरणी बनाता है।
  • जैसे ही डेटा जोड़ा जाता है, वैसे ही ColdFusion सरणियों का विस्तार होता है।
  • ArrayNew () एक सरणी देता है।

इतिहास

कोल्डफ्यूजन एमएक्स 6 में पेश किया गया है

घोषणा

CFML

<!--- One Dimension Array--->
<cfset oneDimensionArray = ArrayNew(1)>

CFScript ध्यान दें कि फ़ंक्शन के अंदर आपको var scoping का उपयोग करना चाहिए। फ़ंक्शन में पहली चीज़ होने के लिए सीएफ के पहले संस्करण आवश्यक हैं; बाद के संस्करण इसे किसी फ़ंक्शन में कहीं भी अनुमति देते हैं।

<cfscript>
    oneDimensionArray = ArrayNew(1);

    public void function myFunc() { 
        var oneDimensionArray = ArrayNew(1);
    } 
</cfscript>

सरणी बनाने के बाद, तत्व अनुक्रमित का उपयोग करके तत्व जोड़ें। कोल्डफ्यूजन एरे इंडेक्स 1 से शुरू होता है:

CFML

<cfset oneDimensionArray[1] = 1>
<cfset oneDimensionArray[2] = 'one'>
<cfset oneDimensionArray[3] = '1'>

CFScript

<cfscript>
    oneDimensionArray[1] = 1;
    oneDimensionArray[2] = 'one';
    oneDimensionArray[3] = '1';
</cfscript>

ArrayAppend () का उपयोग करना

आप फ़ंक्शन ArrayAppend(array, value) का उपयोग करके किसी सरणी में तत्वों को जोड़ सकते हैं।

<cfscript>
    ArrayAppend(oneDimensionArray, 1);
    ArrayAppend(oneDimensionArray, 'one');
    ArrayAppend(oneDimensionArray, '1');
</cfscript>

<cfdump> का उपयोग करके सरणी सामग्री को आउटपुट करें:

<cfdump var="#oneDimensionArray#">

परिणाम:

एक आयाम डंप परिणाम

CFML

<!--- Two Dimension Array--->
<cfset twoDimensionArray = ArrayNew(2)>
<cfset twoDimensionArray[1][1] = 1>
<cfset twoDimensionArray[1][2] = 2>
<cfset twoDimensionArray[2][1] = 3>
<cfset twoDimensionArray[2][2] = 4>

CFScript

<cfscript>
    twoDimensionArray = ArrayNew(2);
    
    twoDimensionArray[1][1] = 1;
    twoDimensionArray[1][2] = 2;
    twoDimensionArray[2][1] = 3;
    twoDimensionArray[2][2] = 4;
</cfscript>

<cfdump> का उपयोग करके सरणी की सामग्री को <cfdump>

<cfdump var="#twoDimensionArray#">

परिणाम:

दो आयाम अर्रे डंप परिणाम

प्रत्येक तत्व में एक और एरे होता है, जो मूल्यों को संग्रहीत करेगा।

1-डी एरियर इम्प्लीमेंटली बनाना

एक सरणी को स्पष्ट रूप से बनाते समय, कोष्ठक ([]) अल्पविराम विभाजकों के साथ सरणी सामग्री को घेरते हैं।

<cfset oneDimensionArrayImplicit = [ 1 ,'one','1' ]>

यह कथन उपरोक्त दिए गए एक कथन के लिए इस्तेमाल किए गए चार बयानों के बराबर है। उपयोग करते समय परिणाम समान हैं:

<cfdump var="#oneDimensionArrayImplicit#">

2-डी ऐरे इम्प्लांटली बनाएं

<cfset twoDimensionArrayImplicit = [[ 1 , 2 ],[ 3 , 4 ],[ 5 , 6 ]]>

या:

<cfset firstElement = ["1", "2"]> 
<cfset secondElement= ["3", "4"]> 
<cfset thirdElement = ["5", "6"]> 
<cfset twoDimensionArrayImplicit = [firstElement , secondElement, thirdElement]>

सामग्री का उपयोग कर आउटपुट

<cfdump var="#twoDimensionArrayImplicit#">

दो आयामों को लागू करें

वैकल्पिक स्पष्ट घोषणा

साथ ही आप 1 डायमेंशन ऐरे के रूप में घोषित कर सकते हैं

<cfset oneDimensionArray = []>

<cfscript>
    oneDimensionArray = [];
</cfscript>

यह घोषणा ArrayNew(1) का उपयोग करने के ArrayNew(1)

लेकिन अगर आप 2 डायमेंशन ऐरे के रूप में घोषित करने की कोशिश करते हैं

<cfset twoDimensionArray =[][]>    //Invalid CFML construct

इस अनुरोध को संसाधित करते समय एक त्रुटि होगी।

निम्नलिखित कथन अनुरोध को संसाधित करेगा:

<cfset twoDimensionArray =[]>

लेकिन चर दो twoDimensionArray वास्तव में ऐरे (या 2-आयाम एरे) के भीतर एक ऐरे नहीं होगा। यह वास्तव में एरे के भीतर संरचना है।

<cfset twoDimensionArray =[]>
<cfset twoDimensionArray[1][1] = 1>
<cfset twoDimensionArray[1][2] = 2>
<cfset twoDimensionArray[2][1] = 3>
<cfset twoDimensionArray[2][2] = 4>

<cfdump var="#twoDimensionArray#">

परिणाम:

स्पष्ट घोषणा का उपयोग करते हुए दो आयाम सरणी

CFScript में सरणी

<cfscript>
    oneDimensionArray = ArrayNew(1);
    oneDimensionArray[1] = 1;
    oneDimensionArray[2] = 'one';
    oneDimensionArray[3] = '1';
</cfscript>

<cfif IsDefined("oneDimensionArray")>
    <cfdump var="#oneDimensionArray#">
</cfif>

परिणाम:

CFSCRIPT में सरणी

इसके अलावा, हम एक के रूप में एक आयाम की घोषणा कर सकते हैं:

oneDimensionArray = [];

वैकल्पिक रूप से, CF ने CF9 से एक फ़ंक्शन के रूप में WriteDump() को <cfdump> टैग के समान पेश किया, जिसका उपयोग <cfscript> में किया जा सकता है।

<cfscript>
    WriteDump(oneDimensionArray);
</cfscript>

इसी प्रकार, 2 आयाम के लिए:

<cfscript>
    twoDimensionArray = ArrayNew(2);
    twoDimensionArray[1][1] = 1;
    twoDimensionArray[1][2] = 2;
    twoDimensionArray[2][1] = 3;
    twoDimensionArray[2][2] = 4;
</cfscript>
<cfdump var="#twoDimensionArray#">

परिणाम:

CFScript में दो आयाम सरणी

सामान्य जानकारी

अन्य प्रोग्रामिंग भाषाओं की तुलना में कोल्डफ़्यूज़न में सरणियों का व्यवहार कैसे होता है, इसके बारे में पहले कुछ सामान्य जानकारी।

  • Arrays में केवल संख्यात्मक इंडेक्स हो सकते हैं (यदि आप एक स्ट्रिंग इंडेक्स का उपयोग करना चाहते हैं तो इसके बजाय struct एस का उपयोग करें)
  • सूचकांक पर शुरू होता है [1]
  • Arrays में एक अयस्क अधिक आयाम हो सकते हैं


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow