मैं this video में प्राप्त क्लास उदाहरण को बदलने की कोशिश कर रहा हूं ताकि इसे उपयोग करने के लिए थोड़ा और सुव्यवस्थित बनाया जा सके। उम्मीद है कि मेरी टिप्पणियां बताती हैं कि मैं पर्याप्त रूप से पूरा करने की कोशिश कर रहा हूं। मेरी समस्या यह है कि जब मैं डेटा तालिका का उपयोग करने की कोशिश करता हूं तो यह मुझे यह त्रुटि देता है: lua: class example.lua: 7: फ़ील्ड 'डेटा' (एक शून्य मान) इंडेक्स करने का प्रयासलुआ में फ़ंक्शन पैरामीटर के रूप में सरणी पास करना?
मैं हूं यह मानते हुए कि इसका मतलब है कि सरणी को फ़ंक्शन में ठीक से पारित नहीं किया जा रहा है, लेकिन मुझे नहीं पता कि क्यों। मैं लुआ के साथ बहुत शुरुआत कर रहा हूँ।
यहाँ मैं क्या मिल गया है:
local enemy = {}; --enemy class table
function enemy:New(data)
local object = {}; --table to store all of data within class
local len = # data --get length of passed table
for i = 1, len, 2 do --loop to input all data from passed table into object table
object.data[i] = data[i + 1];
end
function object:getData(choice) --function that allows us to retrieve data from the class
return self[choice];
end
return object; --return class data table so we can create objects using the class
end
local monsterdata = {"name", "monster", "x", 64, "y", 128, "hp", 4}; --table containing data of monster. keys are odd numbered, values to those keys are even numbered
local monster = enemy:New(monsterdata); --create a object using the class
local test = monster:getData("x"); --set variable to a value with the getData function
print(test);
आह, यह इतनी सरल गलती थी ... हालांकि मुझे लगता है कि आमतौर पर यह मामला है। –
हां, और असामान्य नहीं। 'टी [ए] के बजाय' t.a' टाइप करना समय-समय पर मेरे साथ होता है। – mkluwe