Quantcast

Criar novos campos em tabela - método iterativo

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Criar novos campos em tabela - método iterativo

Jorge Eduardo
Eu estou fazendo um cadastro de livros, apenas para fins didáticos...
Mas o meu código não está gerando novos campos na tabela...
 
tabela={}
io.write("Digite o número de inserções: ")
n=io.read("*n")
f
or i=1,n do
io.write("Digite o Título: \n")
tabela.Titulo=io.read()
io.write("Digite o Autor: \n")
tabela.Autor=io.read()
io.write("Digite a Editora: \n")
tabela.Editora=io.read()
io.write("Digite o Ano: \n")
tabela.Ano=io.read()
io.write("Digite o ISBN (13 DIGITOS): \n")
tabela.ISBN=io.read()
end
for k,v in pairs(tabela) do
print(k,v)
end
 
Como eu faço para criar novos campos da tabela?
tabela.Titulo_1
tabela.Autor_1
tabela.Editora_1
tabela.Ano_1
tabela.ISBN_1
tabela.Titulo_2
tabela.Autor_2
tabela.Editora_2
tabela.Ano_2
tabela.ISBN_2
 E assim por diante...
 
Muito obrigado!

--
Você recebeu essa mensagem porque está inscrito no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Acesse esse grupo em https://groups.google.com/group/lua-br.
Para mais opções, acesse https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Criar novos campos em tabela - método iterativo

Denis Dos Santos Silva


local tabela={}
local n

io.write("Digite o número de inserções: ")
n=io.read("*n")

for i=1,n do
  io.write("Digite o Título: \n")
  tabela[i].Titulo=io.read()

  io.write("Digite o Autor: \n")
  tabela[i].Autor=io.read()

  io.write("Digite a Editora: \n")
  tabela[i].Editora=io.read()

  io.write("Digite o Ano: \n")
  tabela[i].Ano=io.read()

  io.write("Digite o ISBN (13 DIGITOS): \n")
  tabela[i].ISBN=io.read()
end

for k,v in pairs(tabela) do
  print(k,v)
end


--- 
--- OBS: pode ser tabela[i] (se for um for crescendete, 1...10) ou tabela[#tabela+1]
---


Em quinta-feira, 11 de maio de 2017 22:29:58 UTC-3, Jorge Eduardo escreveu:
Eu estou fazendo um cadastro de livros, apenas para fins didáticos...
Mas o meu código não está gerando novos campos na tabela...
 
tabela={}
io.write("Digite o número de inserções: ")
n=io.read("*n")
f
or i=1,n do
io.write("Digite o Título: \n")
tabela.Titulo=io.read()
io.write("Digite o Autor: \n")
tabela.Autor=io.read()
io.write("Digite a Editora: \n")
tabela.Editora=io.read()
io.write("Digite o Ano: \n")
tabela.Ano=io.read()
io.write("Digite o ISBN (13 DIGITOS): \n")
tabela.ISBN=io.read()
end
for k,v in pairs(tabela) do
print(k,v)
end
 
Como eu faço para criar novos campos da tabela?
tabela.Titulo_1
tabela.Autor_1
tabela.Editora_1
tabela.Ano_1
tabela.ISBN_1
tabela.Titulo_2
tabela.Autor_2
tabela.Editora_2
tabela.Ano_2
tabela.ISBN_2
 E assim por diante...
 
Muito obrigado!

--
Você recebeu essa mensagem porque está inscrito no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Acesse esse grupo em https://groups.google.com/group/lua-br.
Para mais opções, acesse https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Criar novos campos em tabela - método iterativo

Jorge Eduardo
In reply to this post by Jorge Eduardo
Vixe, não funcionou...
 
Deu esse erro aqui...
 
lua: Livraria.lua:7: attempt to index field '?' (a nil value)
stack traceback:
 Livraria.lua:7: in main chunk
 [C]: ?
 
 
local tabela={}
local n
io.write("DIGITE O NUMERO DE INSERCOES:\n")
n=io.read("*n")
for i=1,n do
io.write("DIGITE O TITULO:\n")
tabela[i].Titulo=io.read()
io.write("DIGITE O AUTOR: \n")
tabela[i].Autor=io.read()
io.write("Digite A EDITORA:\n")
tabela[i].Editora=io.read()
io.write("DIGITE O ANO: \n")
tabela[i].Ano=io.read()
io.write("DIGITE O ISBN (13 DIGITOS):\n")
tabela[i].ISBN=io.read()
end
for k,v in pairs(tabela) do
print(k,v)
end

--
Você recebeu essa mensagem porque está inscrito no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Acesse esse grupo em https://groups.google.com/group/lua-br.
Para mais opções, acesse https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Criar novos campos em tabela - método iterativo

Eric Chiesse
Na primeira linha do for (antes do io.write) coloque:
tabela[i] = {}

---
Eric

2017-05-13 23:20 GMT-03:00 Jorge Eduardo <[hidden email]>:
Vixe, não funcionou...
 
Deu esse erro aqui...
 
lua: Livraria.lua:7: attempt to index field '?' (a nil value)
stack traceback:
 Livraria.lua:7: in main chunk
 [C]: ?
 
 
local tabela={}
local n
io.write("DIGITE O NUMERO DE INSERCOES:\n")
n=io.read("*n")
for i=1,n do
io.write("DIGITE O TITULO:\n")
tabela[i].Titulo=io.read()
io.write("DIGITE O AUTOR: \n")
tabela[i].Autor=io.read()
io.write("Digite A EDITORA:\n")
tabela[i].Editora=io.read()
io.write("DIGITE O ANO: \n")
tabela[i].Ano=io.read()
io.write("DIGITE O ISBN (13 DIGITOS):\n")
tabela[i].ISBN=io.read()
end
for k,v in pairs(tabela) do
print(k,v)
end

--
Você recebeu essa mensagem porque está inscrito no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Acesse esse grupo em https://groups.google.com/group/lua-br.
Para mais opções, acesse https://groups.google.com/d/optout.

--
Você recebeu essa mensagem porque está inscrito no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Acesse esse grupo em https://groups.google.com/group/lua-br.
Para mais opções, acesse https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Criar novos campos em tabela - método iterativo

Denis Dos Santos Silva
In reply to this post by Jorge Eduardo
Eric valeu pela errata - passei lotado ;]


Em quinta-feira, 11 de maio de 2017 22:29:58 UTC-3, Jorge Eduardo escreveu:
Eu estou fazendo um cadastro de livros, apenas para fins didáticos...
Mas o meu código não está gerando novos campos na tabela...
 
tabela={}
io.write("Digite o número de inserções: ")
n=io.read("*n")
f
or i=1,n do
io.write("Digite o Título: \n")
tabela.Titulo=io.read()
io.write("Digite o Autor: \n")
tabela.Autor=io.read()
io.write("Digite a Editora: \n")
tabela.Editora=io.read()
io.write("Digite o Ano: \n")
tabela.Ano=io.read()
io.write("Digite o ISBN (13 DIGITOS): \n")
tabela.ISBN=io.read()
end
for k,v in pairs(tabela) do
print(k,v)
end
 
Como eu faço para criar novos campos da tabela?
tabela.Titulo_1
tabela.Autor_1
tabela.Editora_1
tabela.Ano_1
tabela.ISBN_1
tabela.Titulo_2
tabela.Autor_2
tabela.Editora_2
tabela.Ano_2
tabela.ISBN_2
 E assim por diante...
 
Muito obrigado!

--
Você recebeu essa mensagem porque está inscrito no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Acesse esse grupo em https://groups.google.com/group/lua-br.
Para mais opções, acesse https://groups.google.com/d/optout.
Loading...