सिमर में get_attribute फ़ंक्शन सिमुलेशन वातावरण को एक तर्क (.env) के रूप में लेता है। हालांकि, आगमन चल रहा है, जबकि इसे बुलाया जाना है, इसलिए संभवतः यह पहले से ही जानता है कि इसे किस सिमुलेशन वातावरण में बुलाया जा रहा है। तर्क क्यों जरूरी है?

set_attribute से तुलना करें, जिसमें तर्क के रूप में पर्यावरण की आवश्यकता नहीं है।

मतभेदों के लिए मेरा अनुमान:

  1. set_attribute पर्यावरण के प्रक्षेपवक्र में एक गतिविधि बनाता है, जबकि get_attribute एक ऐसा फ़ंक्शन है जिसे गतिविधि निर्माण के निलाडिक फ़ंक्शन कॉल के भीतर बुलाया जा सकता है। यह पर्यावरण के पूर्व ज्ञान की अनुमति देता है, एक तरह से जो get_attribute को समान जानकारी की अनुमति नहीं देता है।
  2. ऐसे उपयोग मामले हैं जहां आप दूसरे सिमुलेशन वातावरण से विशेषताओं को खींच सकते हैं।
r
0
Accidental Statistician 1 अप्रैल 2020, 18:03

1 उत्तर

सबसे बढ़िया उत्तर

प्रक्षेपवक्र और सिमुलेशन वातावरण हुड के नीचे स्वतंत्र C++ ऑब्जेक्ट हैं। set_attribute एक गतिविधि को प्रक्षेपवक्र की C++ श्रृंखला में जोड़ता है, और आगमन जो किसी दिए गए सिमुलेशन समय पर उस गतिविधि को पार कर रहा है, C++ स्तर पर एक विशेषता को संशोधित करने के लिए अपने मूल सिम्युलेटर को कॉल करने में सक्षम है। get_attribute और अन्य गेटर्स, हालांकि, आर स्तर पर निष्पादित किए जाते हैं, और इस प्रकार उन्हें इच्छित सिमुलेशन वातावरण के संदर्भ की आवश्यकता होती है, अन्यथा उनके पास यह जानने का कोई तरीका नहीं है कि संलग्न C++ निष्पादन वातावरण क्या है।

1
Iñaki Úcar 2 अप्रैल 2020, 18:54