Использование пользовательского ввода (io.read) в качестве аргумента функции в Lua - PullRequest
1 голос
/ 11 февраля 2020

сделано на португальском языке извините

хорошо, так что в основном у меня есть эта функция:

function perfil(monstro)
 print(monstros.monstro.nomeM)
 print(monstros.monstro.racaM)
 print(monstros.monstro.generoM)
 print(monstros.monstro.idadeM)
 print(monstros.monstro.descM)
end

и это таблица:

monstros = {
  Esqueleto = {nomeM = "Skeletran", racaM = "Esqueleto", generoM = "F", idadeM = "455", descM = "'Estou morta mas não o suficiente!'"},
  Zumbi = {nomeM = "Bruce Santos", racaM = "Zumbi", generoM = "M", idadeM = "19", descM = "'Prociza ter umh celbro de 17 centismotros       .'"},
  Sirena = {nomeM = "Alamellia", racaM = "Sirena", generoM = "F", idadeM = "18", descM = "'Minhas canções são as melhores! Inspirante á Cantora :-D'"},
  Ogro = {nomeM = "Crak", racaM = "Ogro", generoM = "M", idadeM = "34", descM = "'hngbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbyæ'"},
  Dragoa = {nomeM = "SUZANA", racaM = "DRAGÂO", generoM = "F", idadeM = "1367", descM = "'GOOSTO DE FLORESS VERMELHHAS'"}
  }

и я хочу сделать так, чтобы io.read input изменил параметр monstro в функции perfil. извините, если решение простое, я довольно новичок в программировании и Lua. Кроме того, если в моем коде есть ошибка или плохая вещь, скажите мне! (я знаю, что мне нужно использовать это для знаков ударения)

1 Ответ

0 голосов
/ 11 февраля 2020

Это то, что вы ищете?

function perfil(monstro)
 monstro = monstros[monstro] --take the input and find the matching key in the table
 print(monstro.nomeM)        --print the corresponding 'nomeM' for that key
 print(monstro.racaM)
 --... and so on
end

perfil(io.read())   --call the function io.read() and take the input as parameter

Я не знаю, что вы на самом деле собираетесь делать с этими ключами, но в зависимости от того, что вам нужно, вы можете перебирать их так:

function perfil(monstro)
 print(monstro)
 for key, value in pairs(monstros[monstro]) do
  print("Key:", key, "Value:", value)
 end
end

perfil('Ogro')

Вывод:

Ogro
Key:    idadeM  Value:  34
Key:    generoM Value:  M
Key:    racaM   Value:  Ogro
Key:    descM   Value:  'hngbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbyæ'
Key:    nomeM   Value:  Crak
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...