2009-11-23 11 views
7

कौन सी प्रोग्रामिंग भाषाएं यूनिकोड प्रतीकों का उपयोग करके चर, वर्गों और कार्यों के नाम परिभाषित करने की अनुमति देती हैं?प्रोग्रामिंग भाषाएं जो यूनिकोड को फ़ंक्शंस/चर/कक्षाओं के नामों में अनुमति देती हैं?

+0

https://rosettacode.org/wiki/Unicode_variable_names –

उत्तर

2

उनमें से कई हैं। जावा के सबसे लोकप्रिय (यहां एक और जवाब देखें, Java Unicode variable names)। पायथन 3 पहचानकर्ता नामों में यूनिकोड अक्षरों का भी समर्थन करता है।

3

निश्चित रूप से सी #, और मेरा मानना ​​है कि जावा:

using משליט = System.Object; 
using תוצאה = System.Int32; 
public class שלום : משליט { 
    public תוצאה בית() { 
     int אלף = 0; 
     for (int λ = 0; λ < 20; λ++) אלף+=λ; 
     return אלף; 
    } 
} 
+1

हालांकि यह smth का उपयोग करने की अनुशंसा नहीं की जाती है। इस तरह एक अंतरराष्ट्रीय परियोजना में :) – psihodelia

+0

जावा निश्चित रूप से अनुमति देता है (आपकी पोस्ट को संपादित नहीं करना चाहता था, यह वास्तव में मुझे "ठीक" जैसा महसूस नहीं करता है)। –

+3

बीटीडब्ल्यू, मुझे हमेशा यह अच्छा लगा कि यूनिकोड समर्थन अंततः इतनी व्यापक रूप से उपलब्ध है, लेकिन इसका कभी भी उपयोग नहीं किया जाता है (आमतौर पर मेरा कोड केवल अंग्रेजी भाषा है, हालांकि जर्मन मेरी मूल भाषा है)। लेकिन मैंने प्रोग्रामिंग कोड में एलटीआर स्क्रिप्ट के प्रभावों के बारे में कभी नहीं सोचा। यह निश्चित रूप से पाठ प्रवाह तोड़ता है जब भाषा और उसके कीवर्ड आरटीएल होते हैं और पहचानकर्ता नहीं होते हैं (या इससे भी बदतर: वे मिश्रित होते हैं)। उपरोक्त 'int' चर परिभाषा' int 0 = के रूप में प्रस्तुत करती है; 'मेरे लिए, जो दिखती है ... बहुत, बहुत अजीब। लेकिन शायद वह उस व्यक्ति के लिए सामान्य दिखता है जो उस स्क्रिप्ट में उपयोग किया जाता है। –

3

यहां तक ​​कि सी ++ करता है! यहां संग्रह करने के लिए सूची वास्तव में बड़ी है।

हालांकि मुझे उम्मीद है कि यूनिकोड उन भाषाओं के लिए नरक हो, जो केस-असंवेदनशील होने का दावा करते हैं। बयान Σ = 0 के बाद, निम्नलिखित में से कौन सा कथन सत्य है? ς == 0 या σ == 0? और यह मानते हुए कि यह आखिरी होगा, क्या इसका मतलब यह है कि σ = 0 का बयान ς == 0 है? (Σ ग्रीक अपरकेस सिग्मा है; ς और σ इसके दो लोअरकेस हैं)।

+2

यह कारणों में से एक है कि केस-असंवेदनशीलता अक्सर कोडिंग परिप्रेक्ष्य से एक अच्छा विचार नहीं है; यदि आप प्रत्येक कोडपॉइंट को अलग मानते हैं, तो आप ठीक हैं। इसके अलावा, समकक्ष मैपिंग स्थापित करने की कोशिश कर मज़ा लें ... :-) –

+0

हाँ, आपको इसके लिए वर्णों के बीच एक ट्रांजिस्टिव सममित रिफ्लेक्सिव संबंध की आवश्यकता है। – MSalters

+0

@Andrzej: लेकिन दूसरा चरम * हास्केल के रूप में * केस * संवेदनशील भी है! हास्केल का मानना ​​है कि अलग-अलग उद्देश्यों (नेमस्पेस) के पहचानकर्ताओं के लिए अलग-अलग मामलों का उपयोग किया जाता है, और यह - जैसा कि [जवाब में स्मार्ट रूप से नोट किया गया है] (http://stackoverflow.com/questions/5517412/where-is-it- निर्दिष्ट- व्हाइथर -निकोड-पहचानकर्ता-चाहिए-इन-ए-हैकेल/5517639 # 5517639) - अगर किसी व्यक्ति को अपनी भाषा के लिए लेखन प्रणाली एकजुट है, तो उसे अपनी पसंदीदा प्राकृतिक भाषा में पूरी तरह से एक प्रोग्राम लिखने से रोक देगा, हालांकि नाममात्र हास्केल यूनिकोड आईडी का समर्थन करता है। –

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

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