2009-02-24 14 views
17

मैं एक मंच है जहाँ मैं लुआ जानने के लिए मजबूर कर रहा हूँ पर हूँ, इसलिए आप मुझे यह कैसे करना है पर कोई सुझाव है? मुझे PHP की तुलना में किसी अन्य स्क्रिप्टिंग भाषाओं के साथ बहुत अधिक अनुभव नहीं है।शुरू लुआ-पटकथा

तो, पर कुछ सुझाव -pages "सिर लुआ शुरू"?

संपादित

अद्भुत ट्यूटोरियल पृष्ठों के लिए एक अतिरिक्त के रूप में, आप किसी भी "कार्यक्रमों" सुझाव है कृपया सकता है मुझे लगता है कि मुझे लुआ जानने में मदद मिलेगी बना सकता है? कल्पना कीजिए कि मैं सी ++ में पॉइंटर्स सीखना चाहता हूं, मैं एक लिंक्ड सूची बनाउंगा। मैं लुआ में मूल बातें छूना चाहता हूं लेकिन इस बीच सुंदर उन्नत सामानों के लिए खुला हूं।

+2

एक मामूली बिंदु: लुआ का नाम एक संक्षिप्त नाम नहीं है। इसे "लुआ" या कभी-कभी "लुआ" के रूप में ठीक से लिखा जाता है, लेकिन कभी भी "लुआ" नहीं होता है। पूरी कहानी के लिए http://www.lua.org/about.html देखें। – RBerteig

+0

बस एक ही टिप्पणी करने के बारे में था। : पी यह अक्सर लुआ में आने वाले लोगों पर पहला संकेत है। तुम अकेले नहीं हो। – akauppi

+0

लुआ लाइसेंस उपयोगकर्ता अनुबंध नहीं है। ;) –

उत्तर

33

सबसे पहले Programming in Lua के माध्यम से अपने तरीके से काम, तो यह आपको एक या दो दिन लुआ का सार प्राप्त करने के लिए ले जाना चाहिए।

हालांकि मैं आप अपने पहली बार पर दूर बता सकते हैं के माध्यम से coroutines और metatables उपेक्षा, वे बहुत शक्तिशाली हैं, लेकिन समझ में कुछ समय लग। सबसे पहले सिंटैक्स, स्कोपिंग (PHP के लिए भाग्यशाली रूप से आपके लिए) और मानक पुस्तकालयों को सीखें।

उसके बाद वापस coroutines और metatables पर जाते हैं, उन्हें कोशिश पढ़ सकते हैं और तीसरी बार द्वारा के माध्यम से आप इसे प्राप्त कर सकते हैं। जब तक आपके पास बहुत अच्छी सीएस पृष्ठभूमि नहीं है तो ये जटिल विषय

संपादित करें: पुस्तक मुफ्त ऑनलाइन == वेबसाइट है। इसके अलावा लुआ पर यह सबसे अच्छा ट्यूटोरियल है, हर कोई इसके साथ लुआ सीखता है।

इसके अलावा : यहाँ StackOverflow पर एक tips and tricks धागा है, मदद कर सकता है: आप उद्देश्य कर रहे हैं Warcraft की दुनिया के लिए लुआ (शायद नहीं लेकिन सिर्फ मामले में) आप this tutorial

और बाहर की जाँच कर सकते हैं

जब से तुम शुरू में लुआ पर देख रहे हैं: तुम क्या लुआ से उम्मीद करने के लिए

सुझाए गए कार्यक्रम/व्यायाम के कुछ विचार दे वेब विकास के लिए पीआईएल में Data Description उदाहरण को समझने और सुधारने का प्रयास करें। यह आपको कुछ अच्छे विचार और शक्ति या लुआ के लिए अच्छा अनुभव देगा।

फिर आप Data Structures अध्याय के साथ खेलने का प्रयास करना चाहेंगे, हालांकि लुआ के पास एक जटिल डेटा-प्रकार, तालिका है, वह अध्याय आपको तालिका बनाने के लिए लुआ जैसी तरीकों को दिखाएगा जो आपको चाहिए।

आखिर में जब आप मेटाटेबल्स को ग्रोक करना शुरू कर देते हैं तो आपको कक्षा प्रणाली तैयार करनी चाहिए (हाँ लुआ के साथ आप तय करते हैं कि आपकी कक्षा प्रणाली कैसे काम करती है)। मुझे यकीन है कि लुआ को जानता है कि हर कोई एक दर्जन वर्ग सिस्टम बना रहा है, आपको कक्षा प्रणाली पर शुरू करने के लिए एक अच्छा अध्याय Object-Oriented Programming

और यदि आपको समय मिल गया है और सी या कुछ ऐसा पता है (सी # और जावा शामिल) लुआ के साथ एक आवेदन का विस्तार करने का प्रयास करें, लेकिन

+0

आपको बहुत बहुत धन्यवाद। मेरे पास सीएस-पृष्ठभूमि की तुलना में कुछ बेहतर है, मेरे पास (जल्द ही) सॉफ्टवेयर इंजीनियरिंग में डिग्री है :) –

+0

हाँ सॉफ्टवेयर इंजीनियरिंग युद्ध के मैदान पर बेहतर है, लेकिन मेटाटेबल्स और कोरोटाइन्स इस तरह की चीजें हैं सीएस लोग इंजीनियरों से ज्यादा रहते हैं । –

+0

ठीक है, बहुत दोस्त धन्यवाद! यह वर्ल्ड वार्कक्राफ्ट के लिए नहीं है, लेकिन जब मुझे लुआ पता है, तो शायद मुझे इसे एक खेल पर आज़माएं। यह मुख्य रूप से वेब-सामान के लिए है। –

2

उपरोक्त सुझावों के अतिरिक्त, Lua wiki भी है जो ब्राउज़ के लायक है। वहां कोड स्निपेट और छोटी व्यंजनों की जबरदस्त संख्या है जो उपयोगी हो सकती हैं।

1

आप वर्ल्ड वार्कक्राफ्ट स्थापित कर सकते हैं और इसके लिए एक मॉड बना सकते हैं (यह लुआ का उपयोग करता है)। असल में यह शायद एक बुरा विचार है।

हो सकता है कि एक .NET अनुप्रयोग में लुआ एकीकृत करने के लिए (यह मानते हुए कि आप एक सी # प्रोग्रामर कर रहे हैं) की कोशिश है और इसके साथ कुछ 'फन' कार्य करें:

Using Lua with C#

या बस lua.org ब्राउज़

+0

मैं वाह के बारे में हिस्सा अनदेखा करूँगा;) लेकिन सी # -part सुंदर है, धन्यवाद! –

4

LuaForge पर लुआ से संबंधित परियोजनाओं का एक बड़ा निकाय भी है।

यदि आप विंडोज़ को अपने दैनिक मंच के रूप में उपयोग करते हैं, तो मैं Lua for Windows पैकेज को एक अच्छे प्रारंभिक बिंदु के रूप में प्राप्त करने की अनुशंसा करता हूं। इसमें लूआ दुभाषिया के साथ सभी prebuilt और स्थापित एक साथ स्थापित मॉड्यूल की विस्तृत श्रृंखला शामिल है।

PiL और reference manual के माध्यम से अपने पहले पास के बाद, आप Lua Programming Gems पढ़ना चाहेंगे जो वर्तमान में केवल एक पेपर संस्करण में उपलब्ध है।

<plug> परियोजनाओं का समर्थन करने के लिए Lua's books page या LuaForge पर सहयोगी लिंक के माध्यम से पुस्तकें खरीदने पर विचार करें। </plug>

संपादित करें: प्रोग्रामिंग परियोजनाओं जहां लुआ अनुकूल है, समस्याओं जहां table लाभ उठाने प्रदान करता है के लिए देखो के लिए विचारों का सवाल है। टेबल्स लुआ के लिए केंद्रीय हैं, क्योंकि यहां तक ​​कि वैश्विक चर भी एक टेबल में फ़ील्ड हैं। टेबल्स को nil को छोड़कर किसी भी डेटा प्रकार के मानों से अनुक्रमित किया जा सकता है, लेकिन यदि एरे के रूप में उपयोग किया जाता है तो विशेष रूप से कुशल कार्यान्वयन होता है।

एक मोड़ है कि एक सी की तरह पृष्ठभूमि से आने वाले लोगों को यात्राएं कि लुआ में सब बातों स्वाभाविक रूप से 1. तार से शुरू कर रहे हैं अनुक्रमित 1 से अनुक्रमित हैं, सरणियों 1 से शुरू करें, आदि इसके बारे में बहुत चिंता मत करो है बहुत कुछ, a[0] का उपयोग करने में कुछ भी गलत नहीं है, लेकिन #a द्वारा दिए गए सरणी की लंबाई को यह मानते हुए परिभाषित किया गया है कि सरणी a[1] के साथ शुरू हुई थी।

एक और प्रश्न यह है कि कार्यों में वास्तव में नाम नहीं हैं। वे प्रथम श्रेणी मान हैं जो आमतौर पर कुछ चर में संग्रहीत होते हैं जिनके नाम होते हैं। सिंटेक्स चीनी ऐसा लगता है कि उनके नाम हैं, लेकिन यह सिर्फ एक सुविधा है।

मेटाटेबल्स विशेष रूप से लुआ-आइश फीचर टेबल (और अन्य प्रकार, लेकिन यह वास्तव में एक उन्नत विषय है) जो लुआ में ऑब्जेक्ट उन्मुख चीजों को करने के लिए अधिकांश योजनाओं का आधार है।

क्लोजर और सच्ची पूंछ कॉल लुआ की अन्य विशेषताएं हैं जो अक्सर छोटी स्क्रिप्टिंग भाषाओं में नहीं मिलती हैं जो वास्तव में कुछ मुहावरे को लागू करने में आसान बनाती हैं।

+0

बहुत बढ़िया प्रतिक्रिया! धन्यवाद! –

4

इन सभी विस्तृत सूचियों को देखने में मजेदार (हालांकि वे निश्चित रूप से सही हैं)। 2002 में, मैंने लुआ संदर्भ मैनुअल के पहले 20+ पृष्ठों के बारे में पढ़ा, और इसका उपयोग करना शुरू कर दिया। यह वास्तव में है इतना आसान है। लुआ (और एएनएसआई सी) कुछ भाषाओं में से हैं जो वास्तव में एक ही समय में किसी के दिमाग में फिट होते हैं - और वहां रहें। दूसरों के लिए, कम से कम मुझे कुछ रिलीज करने की ज़रूरत है।

ध्यान रखें कि पर विचार करें लूआ में समय लगेगा। मुझे लगता है कि मेरा 6 महीने या उससे भी ज्यादा था। सी/सी ++ से आने पर, हम कुछ तरीकों से समस्याओं को हल करते हैं। लुआ बेहतर साधन प्रदान कर सकता है (यानी टेबल के उपयोग के माध्यम से) लेकिन उनको देखना शुरू करने में कुछ समय लगता है। एक उच्च अमूर्त स्तर के लिए यह संक्रमण 1 9 80 के दशक में असेंबलर-> सी शिफ्ट के समान है। कई लोगों ने अभी भी सी में थोड़ी देर कोडित किया है जैसे कि यह केवल एक पोर्टेबल असेंबलर था।

1

मैंने उन परियोजनाओं पर इसका उपयोग करने वाले लोगों के लिए एक छोटा quick-start guide to Lua लिखा था, जिस पर मैं काम कर रहा था। यदि आप अन्य स्क्रिप्टिंग भाषाओं से परिचित हैं तो यह आपको जल्दी और जल्दी से चला सकता है। docs on Lua.org बहुत अच्छे हैं और आपको जितनी भी चीज चाहिए उसे सबसे ज्यादा कवर करना चाहिए। लुआ एक बहुत छोटी भाषा है और इसे काफी जल्दी से सीखा जा सकता है।

1

यह एक सामान्य सामान्य सिफारिश है, लेकिन यदि आप एक सॉफ्टवेयर प्रोग्रामर के रूप में एक नई प्रोग्रामिंग भाषा में शुरू करना चाहते हैं, तो अपनी नई प्रोग्रामिंग भाषा में Project Euler पर मिली समस्याओं को शुरू करना मजेदार है। मैं हाल ही में पाइथन के साथ ऐसा कर रहा हूं और इसे प्रेरणादायक पाया और कोडिंग के लिए बहुत उत्साह लाया।

+0

कमाल की साइट! धन्यवाद! –

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