2009-04-05 20 views
6

मेरे प्रोग्रामिंग भाषा पाठ्यक्रम के लिए, मैं उन भाषाओं में कुछ कोड स्निपेट लिखने की कोशिश कर रहा हूं जो नाम से गुजरते हैं या मूल्य-परिणाम द्वारा पास करते हैं, अधिमानतः डिफ़ॉल्ट रूप से, लेकिन कोई भी भाषा यहां तक ​​कि उनमें से किसी का भी समर्थन ठीक होगा। हालांकि, मैं एक भी भाषा नहीं ढूंढ पा रहा हूं जो उनमें से किसी एक का समर्थन करता है। क्या कोई ऐसी भाषा के बारे में जानता है जो मूल्य-परिणाम द्वारा पास या नाम से गुजरता है? पसंदीदा रूप से एक अनिवार्य भाषा।नाम से गुजरें और मूल्य-परिणाम भाषाओं द्वारा पास करें

उत्तर

3

wikipedia article on evaluation strategy बताता है कि कॉल-दर-मूल्य-परिणाम फोर्टन द्वारा समर्थित है। कॉल के नाम अल्गोल 68.

+0

धन्यवाद, मुझे लगता है कि मैं इस मार्ग पर जा रहा हूं। – dancavallaro

+0

** Algol 60 ** में कॉल-बाय-वैल्यू और कॉल-बाय-नाम है; ** Algol 68 ** में कॉल-बाय-वैल्यू और कॉल-बाय-रेफरेंस है, और प्रोग्रामर मैन्युअल रूप से कॉल-बाय-कॉपी-पुनर्स्थापना पद्धति को अपना सकता है। कॉल-बाय-शेयरिंग कॉल-बाय-रेफरेंस ("प्रक्रिया" के रूप में) जैसा दिखता है, लेकिन मुझे यकीन नहीं है कि वे वास्तव में Algol68 में समान हैं। Algol68 के पहले संस्करण में कॉल-बाय-ज़रूरत थी, लेकिन इसे रेव 1 में हटा दिया गया था; – NevilleDNZ

1

मुझे लगता है कि सी मैक्रोज़ पास-बाय-नाम ( सी भाषा स्वयं ही नहीं हैं)। मुझे किसी भी पास-दर-मूल्य-परिणाम वाली भाषाओं के बारे में पता नहीं है, मुझे डर है (ईमानदार होने के लिए मुझे यह जानने के लिए एक वेब खोज करना पड़ा था!)।

+0

मुझे यकीन नहीं है कि मैं क्या करने की कोशिश कर रहा हूं, इसके लिए सी मैक्रोज़ "गिनती" है, लेकिन यह एक दिलचस्प विचार है, इसलिए इसके लिए धन्यवाद। – dancavallaro

1

द्वारा समर्थित है अगर आप एक fortran कार्य करने के लिए एक चर गुजरती हैं और आप इसे वहाँ संशोधित, आप भी बुला कार्यक्रम में इसे संशोधित:

psuedocode:

int j = 1 
print j 
addOne(j) 
print j 

होगा उत्पादन:

1 
2 
+1

मुझे हमेशा फोरट्रान के (वास्तव में) पुराने संस्करणों से बहुत मज़ा आया था जो आपको addOne (1) को कॉल करने और स्थिर के मान को संशोधित करने देगा। –

0

दोनों जावा और सी पारित-दर-मूल्य भाषा है।

सी स्पष्ट रूप से मूल्य भाषा द्वारा पास किया गया है।

जावा हमेशा से कहा जाता है "प्राइमेटिव्स मूल्य से पारित होते हैं, वस्तुओं को संदर्भ द्वारा पारित किया जाता है"। लेकिन चूंकि जावा ऑब्जेक्ट किसी भी समय एक संदर्भ है, इसलिए यह वास्तव में संदर्भ मान है। http://java.sun.com/docs/books/jls/second_edition/html/classes.doc.html#37472

+0

यह सच है, लेकिन मेरे प्रश्न का उत्तर नहीं देता है .. – dancavallaro

1

मुझे लगता है कि क्लिप विशेषज्ञ प्रणाली भाषा नाम से पारित किया जाएगा:

जावा भाषा विशिष्टता यह बताता है।

0

अल्गोल का समर्थन करता है पारित-दर-नाम के रूप में आप कुछ स्पष्टीकरण here

मुझे बताया गया था कि एडीए पारित-दर-मूल्य/परिणाम का समर्थन करता है, लेकिन अभी तक बाहर प्रयास नहीं किया है पा सकते हैं।

संबंधित मुद्दे