Lua masalarda saklanan bir şeyi burada çalıştırıyor, yaparak öğrenmeye çalışıyor ... Bu Lua ile benim 4. günüm, bu yüzden lütfen benimle çıplak ol.Lua
Anahtar olarak belirli isimler ve değerler olarak belirli işlevler içeren bir tablo oluşturmak istiyorum. Anahtar adları, bir kullanıcının girdiği komutları gösterir ve bu ada sahip bir anahtar varsa, program bu tuş değerlerinde saklanan kodu yürütmelidir.
Yani, örneğin, biz anahtar değerine içerisinde anahtarlar ve işlevleri içeren bir tablo yapmak:
local t = {
["exit"] = quitGame,
...,
...
}
ve biz de örneğin bir işlevi vardır: Yaptığımız şimdi çok
function quitGame()
print("bye bye")
os.exit()
end
:
userInput = io.read()
for i,v in pairs(t) do
if userInput == i then
--now here, how do I actually run the code that is stored in that key value (v)?
end
end
Umarım ne yapmaya çalıştığımı anlarsınız.
Tam olarak ihtiyacım olan şey budur. Teşekkürler! Bir soru daha olsa da, tablodan bir işlev çağrıldığında programın çıkmasını nasıl engellerim? Örneğin, işlevin bir şey yazdırmasını ve sonraki kullanıcı girdisi için tekrar beklemesini istiyorsam? – thee
@thee Sonuçta bu sizin ortamınıza bağlıdır, ancak bağımsız olarak (örneğin) bir döngü gibidir; true ise userInput = io.read() ... done' çalışacaktır. –