सॉलिडिटी - चर

सॉलिडिटी तीन प्रकार के चर का समर्थन करती है।

  • State Variables - चर जिनका मान स्थायी रूप से एक अनुबंध भंडारण में संग्रहीत किया जाता है।

  • Local Variables - चर, जिनके मूल्य फ़ंक्शन तक मौजूद हैं, निष्पादित हो रहे हैं।

  • Global Variables - ब्लॉकचैन के बारे में जानकारी प्राप्त करने के लिए उपयोग किए जाने वाले वैश्विक नामस्थान में विशेष चर मौजूद हैं।

सॉलिडिटी एक सांख्यिकीय रूप से टाइप की जाने वाली भाषा है, जिसका अर्थ है कि घोषणा के दौरान राज्य या स्थानीय चर प्रकार को निर्दिष्ट करने की आवश्यकता होती है। प्रत्येक घोषित चर में हमेशा अपने प्रकार के आधार पर एक डिफ़ॉल्ट मान होता है। "अपरिभाषित" या "अशक्त" की कोई अवधारणा नहीं है।

अवस्था चर

चर जिनके मान स्थायी रूप से एक अनुबंध भंडारण में संग्रहीत किए जाते हैं।

pragma solidity ^0.5.0;
contract SolidityTest {
   uint storedData;      // State variable
   constructor() public {
      storedData = 10;   // Using State variable
   }
}

स्थानीय चर

चर जिनके मान केवल एक फ़ंक्शन के भीतर उपलब्ध हैं, जहां इसे परिभाषित किया गया है। फ़ंक्शन पैरामीटर हमेशा उस फ़ंक्शन के लिए स्थानीय होते हैं।

pragma solidity ^0.5.0;
contract SolidityTest {
   uint storedData; // State variable
   constructor() public {
      storedData = 10;   
   }
   function getResult() public view returns(uint){
      uint a = 1; // local variable
      uint b = 2;
      uint result = a + b;
      return result; //access the local variable
   }
}

उदाहरण

pragma solidity ^0.5.0;
contract SolidityTest {
   uint storedData; // State variable
   constructor() public {
      storedData = 10;   
   }
   function getResult() public view returns(uint){
      uint a = 1; // local variable
      uint b = 2;
      uint result = a + b;
      return storedData; //access the state variable
   }
}

सॉलिडिटी फर्स्ट एप्लीकेशन चैप्टर में दिए गए चरणों का उपयोग करके उपरोक्त प्रोग्राम को चलाएं ।

उत्पादन

0: uint256: 10

सार्वत्रिक चर

ये विशेष चर हैं जो वैश्विक कार्यक्षेत्र में मौजूद हैं और ब्लॉकचेन और लेनदेन गुणों के बारे में जानकारी प्रदान करते हैं।

नाम रिटर्न
ब्लॉकश (uint ब्लॉकनंबर) रिटर्न (बाइट्स 32) दिए गए ब्लॉक का हैश - वर्तमान, ब्लॉक को छोड़कर केवल 256 सबसे हाल के लिए काम करता है
block.coinbase (पता देय) वर्तमान ब्लॉक की खान का पता
block.difficulty (uint) वर्तमान ब्लॉक कठिनाई
block.gaslimit (uint) करंट ब्लॉक गैसलिमिट
ब्लॉक.नंबर (यूंट) वर्तमान ब्लॉक संख्या
block.timestamp (uint) यूनिक्स युग के बाद से सेकंड के रूप में वर्तमान ब्लॉक टाइमस्टैम्प
गैसलिफ्ट () रिटर्न (uint256) शेष गैस
msg.data (बाइट्स कैलडटा) पूर्ण कैलता
msg.sender (पता देय) संदेश भेजने वाला (वर्तमान कॉलर)
msg.sig (बाइट्स 4) कालदत्ता के पहले चार बाइट्स (फ़ंक्शन पहचानकर्ता)
msg.value (uint) संदेश के साथ भेजे गए वी की संख्या
अब (uint) वर्तमान ब्लॉक टाइमस्टैम्प
tx.gasprice (uint) लेन-देन की गैस की कीमत
tx.origin (पता देय) लेन-देन करने वाला

ठोसता नामकरण

सॉलिडिटी में अपने चरों का नामकरण करते समय, निम्नलिखित नियमों को ध्यान में रखें।

  • आपको चर नाम के रूप में किसी भी सॉलिडिटी आरक्षित कीवर्ड का उपयोग नहीं करना चाहिए। इन खोजशब्दों का उल्लेख अगले भाग में किया गया है। उदाहरण के लिए, विराम या बूलियन चर नाम मान्य नहीं हैं।

  • सॉलिडिटी चर नाम एक अंक (0-9) से शुरू नहीं होने चाहिए। उन्हें एक पत्र या एक अंडरस्कोर चरित्र के साथ शुरू करना चाहिए। उदाहरण के लिए, 123test एक अमान्य चर नाम है, लेकिन _123test एक वैध है।

  • सॉलिडिटी चर नाम केस-संवेदी होते हैं। उदाहरण के लिए, नाम और नाम दो अलग-अलग चर हैं।