2010-07-08 15 views
17

में स्ट्रिंग लोअरकेस में सभी वर्ण बनाना यहां बात है। मैं लुआ में लोअरकेस में एक स्ट्रिंग को बदलने की कोशिश कर रहा हूं, लेकिन यह काम नहीं कर रहा है। मैंने यहलुआ

String = String:lower() 

लेकिन इसे पसंद नहीं किया है। मुझे यकीन है कि ऐसा करने का तरीका है, मैंने इसे पहले देखा है। कुछ साइटें सुझाव देती हैं कि यह दुभाषिया के गलत संस्करण के कारण एक समस्या हो सकती है।

कोई विचार?

+2

"इसे पसंद नहीं है" से आपका क्या मतलब है? यदि कोई हो, तो आपको क्या त्रुटि संदेश मिलता है। – lhf

+0

मेरा मतलब है कि यह मुझे यह त्रुटि देता है: इनपुट: 1: ग्लोबल 'स्ट्रिंग' (एक शून्य मूल्य) इंडेक्स करने का प्रयास मुझे पता चला कि ऐसा इसलिए है क्योंकि मैं जिस स्ट्रिंग का उपयोग कर रहा था वह खाली था जब इसे नहीं करना चाहिए था। यह जटिल है, लेकिन मुझे अंत में पता चला, मुझे अपने कोड में इसकी आवश्यकता नहीं है, तो यह ठीक है। – OddCore

उत्तर

37

आप सही हैं, यह करने के तरीकों में से एक है। यह केवल काम नहीं करेगा और त्रुटियों को फेंक देगा यदि आपका "स्ट्रिंग" चर स्ट्रिंग नहीं है।

व्यक्तिगत रूप से, मैं आमतौर पर की तरह कुछ का उपयोग करना पसंद ..

myString = string.lower(myString) 

लेकिन इसकी वास्तव में कर

myString = myString:lower() 

यह सोचते हैं कि myString वास्तव में एक स्ट्रिंग है, लेकिन के रूप में ही।

"लंबे" संस्करण का एक फायदा है, यह वास्तव में काम करता है अगर MyString एक संख्या है, जबकि उस मामले में दूसरी एक त्रुटि है।

+0

बहुत बहुत धन्यवाद। – OddCore