मैं फ़ंक्शन को फ़ंक्शन में स्टोर करने में सक्षम था। लेकिन अब मुझे नहीं पता कि उन्हें कैसे बुलाया जाए। अंतिम तालिका में लगभग 100 कॉल होंगे, इसलिए यदि संभव हो, तो मैं उन्हें फ़ोरैच लूप में शामिल करना चाहता हूं। धन्यवाद!लुआ - एक तालिका में संग्रहीत एक फ़ंक्शन निष्पादित करें
game_level_hints = game_level_hints or {}
game_level_hints.levels = {}
game_level_hints.levels["level0"] = function()
return
{
[on_scene("scene0")] =
{
talk("hint0"),
talk("hint1"),
talk("hint2")
},
[on_scene("scene1")] =
{
talk("hint0"),
talk("hint1"),
talk("hint2")
}
}
end
समारोह परिभाषाओं Aaand:
यहाँ कैसे तालिका में परिभाषित किया गया है
function on_scene(sceneId)
-- some code
return sceneId
end
function talk(areaId)
-- some code
return areaId
end
संपादित करें:
मैं कार्यों संशोधित ताकि वे एक छोटे से होगा अधिक संदर्भ असल में, वे अब तार वापस कर देते हैं। और जो मैं होने की उम्मीद कर रहा था वह यह है कि फ़ंक्शंस का आह्वान करने के अंत में, मेरे पास एक सारणी होगी (आदर्श रूप से स्तर तालिका) जिसमें इन सभी तारों को शामिल किया जाएगा।
यह स्पष्ट नहीं है कि आप लूप में कैसे या क्या चाहते हैं। शायद आप समझ सकते हैं और छद्म कोड दे सकते हैं। बीटीडब्ल्यू-लुआ में पॉइंटर्स नहीं हैं। कार्य 'फ़ंक्शन' प्रकार के मान हैं और अभिव्यक्तियों में कहीं भी उपयोग किए जा सकते हैं। –
@ टॉमब्लोडेट, यह इंगित करने के लिए धन्यवाद। मैंने इसे सही किया। – brain56