2011-07-14 16 views
5

मैं बस सोच रहा हूं कि लुआ में एक पैटर्न मैच में चर को रखना संभव है या नहीं। निम्न जैसा कुछ की तरह:पैटर्न मिलान में lua चर

var = "hello" 
pattern = string.match(datasource, "(var)%s(a%+)") 

कारण मैं इस वजह से चर "वर" समय-समय पर बदल जाएगा करने की जरूरत है। (यह एक पाश में हो जाएगा) अग्रिम

उत्तर

9

लुआ उद्धरण के अंदर स्ट्रिंग इंटरपोलेशन को संभाल नहीं करता है। इसके बजाय, आपको var के साथ भागों को एक var संदर्भ के रूप में जोड़ना होगा और बाकी को उद्धरण तारों के रूप में जोड़ना होगा। एक "(" के रूप में एक स्ट्रिंग शाब्दिक, चर संयोजित करता है, तो बंद स्ट्रिंग के बाकी एक स्ट्रिंग शाब्दिक साथ खत्म। साथ

"("..var..")%s(a%+)" शुरू होता है

5

उपयोग "("..var..")%s(a%+)" बजाय में

चीयर्स।

1

मैं एक पैटर्न में एक ही बात मुझे लगता है, एक चर की जरूरत मैच, लेकिन उपरोक्त समाधान मेरे लिए काम नहीं करता है। अगर मैं किसी की मदद करता है तो मुझे अपना समाधान पोस्ट कर रहा है, नेट पर कुछ और नहीं मिला।

मैंने एक ':' सीमांकित फ़ाइल पढ़ी है (नाम: दूरभाष) और फ़ाइल में नाम से खोजना चाहते हैं और नाम और टेलीफोन नंबर उत्तर के रूप में चाहते हैं।

local FileToSearch = h:read'*a' -- Read all the file 
var = io.read() -- ask the name 
string.gmatch(FileToSearch, ''..var..': '..'%d+') -- search for name, concatenate with number 
संबंधित मुद्दे